Application.Properties 属性

定义

获取应用程序范围属性的集合。

public:
 property System::Collections::IDictionary ^ Properties { System::Collections::IDictionary ^ get(); };
public System.Collections.IDictionary Properties { get; }
member this.Properties : System.Collections.IDictionary
Public ReadOnly Property Properties As IDictionary

属性值

一个包含应用程序范围的属性的 IDictionary

示例

以下示例演示如何使用 Properties创建和使用应用程序范围属性。

<Application x:Class="CSharp.App"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    StartupUri="MainWindow.xaml"
    Startup="App_Startup"
    >
</Application>
using System;
using System.Windows;

namespace CSharp
{
    public partial class App : Application
    {
        void App_Startup(object sender, StartupEventArgs e)
        {
            // Parse command line arguments for "/SafeMode"
            this.Properties["SafeMode"] = false;
            for (int i = 0; i != e.Args.Length; ++i)
            {
                if (e.Args[i].ToLower() == "/safemode")
                {
                    this.Properties["SafeMode"] = true;
                    break;
                }
            }
        }
    }
}

Imports System.Windows

Namespace VisualBasic
    Partial Public Class App
        Inherits Application
        Private Sub App_Startup(ByVal sender As Object, ByVal e As StartupEventArgs)
            ' Parse command line arguments for "/SafeMode"
            Me.Properties("SafeMode") = False
            Dim i As Integer = 0
            Do While i <> e.Args.Length
                If e.Args(i).ToLower() = "/safemode" Then
                    Me.Properties("SafeMode") = True
                    Exit Do
                End If
                i += 1
            Loop
        End Sub
    End Class
End Namespace
<Window x:Class="CSharp.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Loaded="MainWindow_Loaded"
    >
  <Grid>
  </Grid>
</Window>
using System;
using System.Windows;
using System.Windows.Controls;

namespace CSharp
{
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }

        void MainWindow_Loaded(object sender, EventArgs e)
        {
            // Check for safe mode
            if ((bool)Application.Current.Properties["SafeMode"] == true)
            {
                this.Title += " [SafeMode]";
            }
        }
    }
}

Imports System.Windows
Imports System.Windows.Controls

Namespace VisualBasic
    Partial Public Class MainWindow
        Inherits Window
        Public Sub New()
            InitializeComponent()
        End Sub

        Private Sub MainWindow_Loaded(ByVal sender As Object, ByVal e As EventArgs)
            ' Check for safe mode
            If CBool(Application.Current.Properties("SafeMode")) = True Then
                Me.Title &= " [SafeMode]"
            End If
        End Sub
    End Class
End Namespace

注解

Application 公开可用于存储应用程序范围属性的字典 Properties 。 这使你能够以线程安全的方式在所有代码 AppDomain 之间共享状态,而无需编写自己的状态代码。

存储在 中的 Properties 属性必须转换为返回的相应类型。

属性 Properties 是线程安全的,可从任何线程获取。

适用于

另请参阅