首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

WPF 多语言支持该如何做

2013-08-04 
WPF 多语言支持该怎么做网上搜了下,找到的资料全部都是介绍用“资源字典”来做多语言支持。我自己尝试了下,也

WPF 多语言支持该怎么做

网上搜了下,找到的资料全部都是介绍用“资源字典”来做多语言支持。我自己尝试了下,也确实是相当地方便。但是目前遇到难题没办法解决了:

当做UI界面时,这个资源字典用xaml语言引用倒是挺方便的。 但是内部访问时,却怎么也找不到对应的方法。如果在 viewmodels 中,需要弹出提示框,这时如何引用资源字典中定义的字符串呢? 谢谢
[解决办法]
弹出信息的多语言可以用.net本身的Resource文件。这样相当于有两个字典,一个是xaml用的,另外一个是vm的代码里用的。
或者不用wpf提供的MessageBox,而是自己创建一个Window作为MessageBox,这样就可以只用一套给xaml用的字典了。
[解决办法]
通过创建不同语言版本的资源文件,如:zh-CN.xaml,en.xaml,文件里内容格式一般为
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                    xmlns:sys="clr-namespace:System;assembly=mscorlib">

    <sys:String x:Key="btn_Ok" >
        确定
    </sys:String>
    <sys:String x:Key="btn_Delete">
        删除
    </sys:String>
   <sys:String x:Key="btn_Back" >
        返回
    </sys:String>
</ResourceDictionary> 
在程序启动时进行判断读取相关版本的资源文件内容。希望对你有所帮助

热点排行