腾格里

程序员交流学习的网站
站长QQ:540329378

通过资源文件实现WPF国际化

通过资源文件实现WPF国际化。
  1. 创建资源文件Resource.resx、Resource.en-US.resx
  2. 因为资源文件自动创建的类构造函数是internal类型,WPF无法直接实例化,所以需要创建一个类,命名为Resources.cs继承资源文件类,如下所示:
 public class Resources:Resource
 {
    public Resources()
    {
        
    }
}


3.在app.xmal文件中引入Resources类

<ResourceDictionary>
     <local:Resources x:Key="Res" d:IsDataSource="True" />
</ResourceDictionary>

注意:Resources类在当前项目命名空间下,才可直接用local引入资源类,否则需要先引入Resources类的命名空间。

  1. 之后就可以在WPF窗体中使用在资源文件中添加的字符串,如下所示:
 <TextBlock  Text="{Binding Source={StaticResource Res},Path=productName}" />     
  1. 切换语言,代码如下:
//切换中文
Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("zh-CN");

//切换英文
Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("en-US");

未经允许不得转载:腾格里 » 通过资源文件实现WPF国际化

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址