這種類型的資源:
<TextBox Text="{x:Static p:Resources.name}">
一般用於代替系統註冊表,即,有存儲一些元數據的應用程序,可以改變該用戶,如背景顏色,一些設置等
從XAML
Example
綁定默認值:
xmlns:properties="clr-namespace:WorkWithSettings.Properties"
<Button Width="100" Height="30"
Background="{Binding Source={x:Static properties:Settings.Default}, Path=Setting, Mode=TwoWay}" />
從代碼
設定值:
private void Button_Click(object sender, RoutedEventArgs e)
{
WorkWithSettings.Properties.Settings.Default.Setting = "#FF007CE4";
}
正如評論@gomi42
所提到的,此類型的資源用於本地化應用程序。在這裏:
WPF Localization for Dummies
Sample for globalization and localization in WPF
你可以看到這個實現的例子。
這種類型的資源:
<sys:String x:Key="name">Name</sys:String>
是常數,意味着它們不會在整個應用程序(不包括DynamicResource
)的一生都在變化。我將它保留在不改變的窗口大小以及其他窗口標題的字符串中。
當您將應用程序本地化爲多種語言時,您會注意到不同之處。如果您使用.resx,則只需添加資源程序集(WPF查找並自動加載它們)。這個魔法是通過ResourceManager完成的。 XAML文件沒有這樣的魔力。 – gomi42