对于本地化,我使用.NET中的资源文件(.resx文件)功能,但我想知道是否有一个聪明的方法来直接在XAML中数据绑定各种本地化属性?
资源文件只显示静态属性,我无法弄清楚如何从viewmodel或其他资源字典绑定.
此外,如果可能,我希望它在设计时使用Expression Blend工作.
解决方法
这是我怎么做
WPF:
>创建一个资源文件,并在同一个程序集中创建一个具有公共构造函数的类.确保资源文件被标记为public.
>在您的xaml文件中 – 在命名空间中添加对此位置的引用
的xmlns:RES = “CLR的命名空间:MyProject.StringResources”
>对于您的文本属性,请使用以下绑定
TextProperty =“{x:Static res:ResourceFileName.ResourceKey}”
Silverlight的:
>按照步骤1& 2,然后将资源文件作为资源添加到用户控件或应用程序级资源中:
< res:ResourceFileName x:Key =“resourcesLabels”/>
>对于您的文本属性使用以下绑定:
TextProperty =“{Binding ResourceKey,Source = {StaticResource resourceLabels}}”