XAML中的数据绑定资源文件

Dou*_*ube 9 c# silverlight wpf xaml windows-phone-7

对于本地化我在.NET中使用资源文件(.resx文件)功能,但我想知道是否有一种智能方法可以直接在XAML中对各种本地化属性进行数据绑定?

资源文件似乎只暴露静态属性,我无法弄清楚如何从viewmodel或其他资源字典绑定.

此外,如果可能的话,我希望它能在设计时与Expression Blend一起工作.

tse*_*lls 18

我就是这样做的.

WPF:

  1. 创建资源文件并在同一程序集中创建一个具有公共构造函数的类.确保资源文件标记为public.

  2. 在您的xaml文件中 - 在命名空间中添加对此位置的引用

    xmlns:res="clr-namespace:MyProject.StringResources"

  3. 对于text属性,请使用以下绑定

    TextProperty="{x:Static res:ResourceFileName.ResourceKey}"

Silverlight的:

  1. 按照上面的步骤1和2,然后将资源文件作为资源添加到用户控件或应用程序级资源中:

    <res:ResourceFileName x:Key="resourcesLabels"/>

  2. 对于text属性,请使用以下绑定:

    TextProperty="{Binding ResourceKey, Source={StaticResource resourceLabels}}"