多国语言
一个系统需要有多种语言时,我们就要写另一个语言资源了,怎么样来实现语言间的切换。
下面我们先新建两个语言资源:
Zh-CN.xaml和en-us.xaml
在App.config中要配置所需要的语言
<appSettings>
<add key="language" value="en-us"/>
</appSettings>
用这种写法,当我们需要改成中文语言资源时,只要把en-us该成zh-cn就可以了,下面我们在哪写导入语言资源的地方呢?
在app.xaml.cs页面中;
private static ResourceDictionary _resourceDictionary;
private const string _path = @"Languages\";
protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);
LoadLanguage();
}
private static void LoadLanguage()
{
string language = ConfigurationManager.AppSettings.Get("language"); //获取App.config中language的value
var path = string.Format("{0}{1}{2}", _path,language,".xaml");
using (FileStream fs = File.OpenRead(path))
{
_resourceDictionary = XamlReader.Load(fs) as ResourceDictionary;
Application.Current.Resources.MergedDictionaries.Add(_resourceDictionary);
}
}
这样我们就可以运行了。
作者:dingli
出处:http://www.cnblogs.com/dingli/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。