c# - 我应该如何使用 MVVM 模式在 Wpf 应用程序上实现本地化?

标签 c# wpf mvvm

我正在使用 Devexpress 工具并遵循 MVVM 模式开发 wpf 应用程序..

我已经使用 Locbaml 工具对其应用了本地化,它工作得非常好,但只是针对 View 。

在这个应用程序中,我正在设置 Grid Row Vlidation 错误,还从 View Model 中弹出一些 MessageBoxes,但 LocBaml 看起来对将这些错误消息和消息框消息转换为其他语言没有帮助。我怎样才能做到这一点?

最佳答案

LocBaml 仅从 baml 中提取内容,baml 是您的 xaml 文件的编译形式。它永远不会看到任何未在 xaml 中定义的内容(例如,在代码隐藏中定义的字符串)。我知道的解决此问题的唯一方法是在 xaml 中定义您可能希望本地化为字符串资源的所有字符串。这些可以很容易地从代码隐藏中引用,所以它并不像听起来那么糟糕。完全动态生成的字符串将不可本地化,但通过一些工作,您可以从 xaml 资源中定义的片段构建它们。

关于c# - 我应该如何使用 MVVM 模式在 Wpf 应用程序上实现本地化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7564980/

相关文章:

c# - 在代码中设置 WPF 图片源

c# - 用Catel关闭窗口

c# - 如何使用 Windows 应用程序驱动程序在 UI 自动化单元测试期间验证 WPF 复选框的状态?

c# - 如何在 .NET Core 2 中设置 AuthenticationScheme 和 AutomaticAuthenticate?

c# - iTextSharp PDF 使用表格嵌入条码。无法格式化为一页

wpf - 将滚动条添加到框架 WPF

wpf - DataGridComboBoxColumn 中的 EventSetter 抛出 NullReferenceException

wpf - 在带有 WPF 的 MVVM 中,如何对 ViewModel 和 View 之间的链接进行单元测试

wpf - 使用 WPF/MVVM 在保存时检测文本框更改

c# - 始终具有参数化构造函数的类