我有一个支持两种语言的应用程序:英语和阿拉伯语。
在一个页面中,我有一个 GridView,我有两个用于 GridView 的项目模板;一个用于英语,一个用于阿拉伯语。
如何根据应用当前的语言高效地处理项目模板的切换?
我有一个支持两种语言的应用程序:英语和阿拉伯语。
在一个页面中,我有一个 GridView,我有两个用于 GridView 的项目模板;一个用于英语,一个用于阿拉伯语。
如何根据应用当前的语言高效地处理项目模板的切换?
获取应用首选语言的语言标签:
Windows.Globalization.ApplicationLanguages.primaryLanguageOverride
并用它DataTemplateSelector
来选择正确的ItemTemplate
。
像这样的东西:
public class LanguageTemplateSelector : DataTemplateSelector
{
public DataTemplate ItemTemplate1 { get; set; }
public DataTemplate ItemTemplate2 { get; set; }
protected override DataTemplate SelectTemplateCore(object item, DependencyObject container)
{
string language = Windows.Globalization.ApplicationLanguages.primaryLanguageOverride;
if(language.Equals("LanguageTAG"))
{
return ItemTemplate1;
}
else if(language.Equals("AnotherLanguageTAG"))
{
return ItemTemplate2;
}
return base.SelectTemplateCore(item, container);
}
}