wpf 国际化 try catch comboBox

前端国际化

1、创建资源字典
--------Chinese.xaml----------
<s:String x:Key=“File”>文件</s:String>
<s:String x:Key=“Run”>运行</s:String>
--------English.xaml----------
<s:String x:Key=“File”>File</s:String>
<s:String x:Key=“Run”>Run</s:String>
2、app.xaml的ResourceDictionary 中添加
Source=“/Bussiess.LanguageResource;component/LanguageResource/Chinese.xaml”
3、xmal绑定资源字典的key
Text=“{DynamicResource File}”

后端国际化

1、MessageBox.Show显示
MessageBox.Show(App.Current.Resources[“File”].ToString())
2、try catch 报错
将电脑系统语言设置成对应国家的语言即可
3、ComboBox 绑定枚举对象且使用MarkUp
在自定义的EnumerationExtension : MarkupExtension中去获取该枚举对应到资源字典中的key
string GetDescription(object enumValue)
{
//前期在资源字典中定义好该枚举key,
//获取枚举的名称key,然后使用App.Current.Resources[Key].ToString()
}
另外是使用转换器,思路也是一样,推荐这种方案,不用修改EnumerationExtension类
4、ComboBox 绑定集合对象,比如读取数据库的集合
前端依然是绑定该对象,只是给DisplayMemberPath增加一个转换器,如果是联网情况下可以使用翻译功能
如果不是则将DisplayMemberPath绑定的对象作为key,然后去资源字典中查找对应的值,所以还是需要提前创建好key

切换语言

提供一个函数

        /// <summary>
        /// 切换语言,外部替换资源字典有效
        /// </summa
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值