WPF 多语言支持

来源:互联网 发布:淘宝模型 编辑:程序博客网 时间:2024/06/05 10:25

1. 新建项目

2. 添加字符串资源文件

Strings.resx, Strings.zh-CN.resx, Strings.en-US.resx

将三个资源文件的范围修饰符设置为public

向三个资源文件中添加字符串

3. 页面文件引用资源文件中的字符串

文件头部加入文件的引用信息:

xmlns:Local="clr-namespace:Globalization.res"

申明引用字符串的变量

<Window.Resources>

<Local:Strings x:Key="LocStrings"></Local:Strings>

</Window.Resources>

以上步骤完成后就可以在页面中用绑定的方式引用资源文件中的字符串了

<Label Name="lblLanguage" Content="{Binding MainWindow_language, Source={StaticResource LocStrings}}" />

4. 代码文件中引用资源文件中的字符串

首先需要在代码文件中引入必要的类库:

using System.Globalization;

using System.Threading;

using System.Resources;

using System.Reflection;

定义使用语言以及资源管理器:

public static CultureInfo sysLanguage = null;

public static ResourceManager rm = null;

sysLanguage = new CultureInfo("zh-CN"); //英文为new CultureInfo("en-US")

Thread.CurrentThread.CurrentCulture = sysLanguage; //应用选择的语言

Thread.CurrentThread.CurrentUICulture = sysLanguage; //应用选择的语言

rm = new ResourceManager("Globalization.res.Strings", Assembly.GetExecutingAssembly());

以上设置完成就可以使用资源文件中的国际化字符串了

lblLanguage.Content = App.rm.GetString("MainWindow_language");

0 0