WPF程序国际化
1.创建相应的xaml文件
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:sp="http://schemas.microsoft.com/netfx/2007/xaml/presentation" xmlns:sys="clr-namespace:System;assembly=mscorlib"> <sp:ImageSource x:Key="Logo"> logo url </sp:ImageSource> <sys:String x:Key="Msg"> string </sys:String> </ResourceDictionary>
2.配置App.xaml
<Application.Resources> <ResourceDictionary> <!-- 这个节点就是配置默认语言的 --> <ResourceDictionary.MergedDictionaries> <ResourceDictionary Source="Languages\en_US.xaml" /> </ResourceDictionary.MergedDictionaries> </ResourceDictionary> </Application.Resources>
3.程序中如果要修改,则可以使用如下代码
ResourceDictionary langRd = null; try { //base on language config file langRd = Application.LoadComponent(new Uri(@"Languages\" + languageName + ".xaml", UriKind.Relative)) as ResourceDictionary; } catch (Exception e2) { MessageBox.Show(e2.Message); } if (langRd != null) { //clear base style //if (this.Resources.MergedDictionaries.Count > 0) //{ // this.Resources.MergedDictionaries.Clear(); //} this.Resources.MergedDictionaries.Add(langRd); }
4.如果要单独取得某个配置项目,则可以在程序中使用如下代码:
using System.Windows (string)TryFindResource("Msg");
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
作者:风来风往风伤
出处:http://www.cnblogs.com/amwuau/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。