使用WPF本地化扩展防止Magic字符串

时间:2015-11-25 08:00:36

标签: c# wpf xaml localization wpflocalizationextension

我正在开发一个WPF应用程序,用户可以在运行时更改语言。在C#代码(ViewModels等)中,我正在使用对资源的引用。 例如:

string translation = ScreenResources.WorkpieceDiameter;

这支持Intellisense和编译时错误。在XAML代码中,我正在使用WPF本地化扩展:

Header="{lex:LocText xxxx.ScreenResources.WorkpieceDiameter}"

问题现在是在XAML代码中我使用的是“魔术字符串”,所以如果资源名称更改或移动到另一个资源,则不会有任何编译时错误。此外,没有智能感知成员列表的努力也在增加。

是否可以在没有使用WPF Loc Extension的优势的情况下将资源与静态引用静态一起使用,如C#代码?

1 个答案:

答案 0 :(得分:0)

不确定为什么需要扩展。我这样做: -

Header="{x:Static ns:ScreenResources.WorkpieceDiameter}"

其中'ns'是资源文件的命名空间,在XAML的开头添加。