我希望将默认区域性/语言定义为资源,以便提供对所选标签的一致显示。但是,似乎无法定义Language
(XMLLanguage)和ConverterCulture
(CultureInfor)资源,似乎也无法使用string
资源:>
<TextBlock Text="{Binding Source={x:Static sys:DateTime.Now},
Mode=OneWay, StringFormat={StaticResource DateFormat},
ConverterCulture={StaticResource DefaultCulture},
Language={StaticResource DefaultLang}/>
//....
<Grid.Resources>
<sys:String x:Key="DefaultCutureString">en-GB</sys:String>
<win:XmlLanguage xmlns:win="clr-namespace:System.Windows.Markup;assembly=PresentationFramework" x:Key="DefaultLang">en-GB</win:XmlLanguage>
<g:CultureInfo xmlns:g="clr-namespace:System.Globalization;assembly=mscorlib" x:Key="DefaultCuture">
<x:Arguments>
<sys:String>en-GB</sys:String>
</x:Arguments>
</g:CultureInfo>
</Grid.Resources>
如何使用资源定义和应用文化/语言?
答案 0 :(得分:0)
XmlLanguage
和CultureInfo
没有默认的无参数构造函数,这意味着您无法在XAML中实例化它们。
但是您可以以编程方式创建资源,然后将其添加到Grid.Resources
(只需在XAML标记中提供“网格”的Grid
和x:Name
或类似名称即可识别它在代码中):
grid.Resources["DefaultLang"] = XmlLanguage.GetLanguage("en-GB");
grid.Resources["DefaultCuture"] = new System.Globalization.CultureInfo("en-GB");