C# · 12月 29, 2021

c# – XAML中的数据绑定资源文件

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

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

此外,如果可能,我希望它在设计时使用Expression Blend工作.

解决方法 这是我怎么做

@L_403_0@:

>创建一个资源文件,并在同一个程序集中创建一个具有公共构造函数的类.确保资源文件被标记为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}}”