多国语言

一个系统需要有多种语言时,我们就要写另一个语言资源了,怎么样来实现语言间的切换。

下面我们先新建两个语言资源:

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);

}

}

这样我们就可以运行了。

你可能感兴趣的:(语言)