网站开发兼职团队,百度seo高级优化,郑州做系统集成的公司网站,企业软文通过切换资源文件的形式实现中英文一键切换
在项目中新建Language文件夹#xff0c;添加资源字典#xff08;xaml文件#xff09;#xff0c;中文英文各一个。 在资源字典中写上想中英文切换的字符串#xff0c;需要注意#xff0c;必须指定key值#xff0c;并且中英文…通过切换资源文件的形式实现中英文一键切换
在项目中新建Language文件夹添加资源字典xaml文件中文英文各一个。 在资源字典中写上想中英文切换的字符串需要注意必须指定key值并且中英文的Key值需要一一对应因为到时候是按照Key值替换的 在前端使用的时候就不要用固定的字符串了而是绑定到动态资源注意一定是动态资源DynamicResource如果写成静态资源就不能切换了 DynamicResource后面的值就是在资源文件中定义的Key值
首先要先去app.xaml里设置一下初始的语言 这是加载资源文件的意思后面的Source写你自己想要初始加载的语言xaml文件的路径
然后中英文切换时是在后台代码里切换资源文件比如点击切换语言按钮调用下面的切换语言方法。
需要注意
需要注意
需要注意重要的事情说三遍我在上面app.xaml里还载入了一些其他资源文件可以看到语言资源文件是第三个所以在下面切换语言时是
Application.Current.Resources.MergedDictionaries[2].Source
下标为2意思是将第三个资源文件即我们的语言资源文件替换在使用时需要根据实际情况进行修改 /// summary/// 语言选项/// /summarypublic enum Language{Chinese,English}public Language Language { get; set; }/// summary/// 切换语言/// /summaryprivate void SwitchLanguage(){try{if (Language Language.Chinese){Language Language.English;string english pack://application:,,,/Language/English.xaml;Application.Current.Resources.MergedDictionaries[2].Source new Uri(english);}else{Language Language.Chinese;string chinese pack://application:,,,/Language/Chinese.xaml;Application.Current.Resources.MergedDictionaries[2].Source new Uri(chinese);}}catch (Exception e){//错误处理}}
点击切换语言按钮调用这个切换语言方法因为我们页面绑定的是动态的资源就能发现页面的语言已经实现了切换。
这是界面上直接绑定时的语言切换有些人可能遇到一些像写日志、弹窗这种没办法动态绑定的情况那就需要通过后台代码来通过Key值读出资源的字符串了
string text Application.Current.FindResource(想查找资源的Key值) as String;
这样在是英文资源的时候返回的字符串就是英文在是中文资源的时候字符串就是中文的。
就能实现非页面绑定的中英文切换啦。
博主会不定时更新WPF技术分享技术代码感兴趣的小伙伴可以关注一波~