更新:2007 年 11 月
命名空间:
System.Windows 程序集:
PresentationFramework(在 PresentationFramework.dll 中)
Public ReadOnly Property Properties As IDictionary
Dim instance As Application
Dim value As IDictionary
value = instance.Properties
public IDictionary Properties { get; }
public:
property IDictionary^ Properties {
IDictionary^ get ();
}
/** @property */
public IDictionary get_Properties()
public function get Properties () : IDictionary
Application 通过 Properties(可以用于存储应用程序范围的属性)公开字典。这使您可以在 AppDomain 中的所有代码中以线程安全方式共享状态,而无需编写自己的状态代码。
存储在 Properties 中的属性必须转换为适当的返回类型。
Properties 属性是线程安全的,可以从任何线程获得。
下面的示例演示如何使用 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;
}
}
}
}
}
<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]";
}
}
}
}
Windows Vista
.NET Framework 和 .NET Compact Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求。
.NET Framework
受以下版本支持:3.5、3.0
参考