我有一个包含国家/地区名称的XML文件,另一个文件包含另一种语言的相同内容。
我想在这里做绑定,为法语显示法语文件,为其他语言显示自己的文件等等...在长列表控件中
如何添加这些文件以及where(资源文件夹?)
如何命名文件,我应该遵循特定模式(例如countries.en.xml
,countries.fr.xml
?
抱歉,我知道这个问题非常基本,但我无法忍受!
答案 0 :(得分:1)
我建议选择两个选项之一。第一种是简单地将xml的内容放在AppResources文件中。这可能是最好的选择。这将允许您像任何其他字符串
一样绑定到值Text="{Binding Path=LocalizedResources.America, Source={StaticResource LocalizedStrings}}"/>
第二个选项是将内容放在xml中并通过代码加载它们。您可以通过提供的LocalizedStrings类来完成此操作。您可以公开基于CultureInfo加载一次的Countries属性。
private static IDictionary<string, Country> _countries;
public IDictionary<string, Country> Countries
{
get
{
if (_countries == null)
{
var culture = System.Globalization.CultureInfo.CurrentCulture;
var name = culture.Name;
if (name == "en-us")
{
// load
}
else
{
// load
}
}
return _countries;
}
}
这将允许你这样绑定
Text="{Binding Path=Countries[America], Source={StaticResource LocalizedStrings}}"/>