我正在开发一个 WPF 应用程序,用户可以在运行时更改语言。在 C# 代码(ViewModels 等)中,我使用对资源的引用。例如:
string translation = ScreenResources.WorkpieceDiameter;
这支持 Intellisense 和编译时错误。在 XAML 代码中,我使用 WPF 本地化扩展:
Header="{lex:LocText xxxx.ScreenResources.WorkpieceDiameter}"
现在的问题是,在 XAML 代码中我使用的是“魔术字符串”,因此如果资源名称更改或移动到另一个资源,则不会出现任何编译时间错误。没有智能感知成员列表的开发工作也会增加。
是否可以在不使用 WPF Loc Extension 的优势的情况下将资源与 C# 代码中的静态引用一起使用?