首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用MVVM模式在Wpf应用程序上实现本地化?

如何使用MVVM模式在Wpf应用程序上实现本地化?
EN

Stack Overflow用户
提问于 2011-09-27 14:19:35
回答 5查看 1.1K关注 0票数 4

我正在开发一个使用Devexpress工具和MVVM模式的wpf应用程序。

我已经使用Locbaml工具对它应用了本地化,它工作得很好,但只适用于视图。

在这个应用程序中,我设置了网格行波动错误,还从视图模型中弹出了一些MessageBoxes,但LocBaml看起来对转换这些错误消息和其他语言的消息框消息没有帮助。我如何才能做到这一点呢?

EN

回答 5

Stack Overflow用户

发布于 2012-01-20 12:13:25

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

票数 1
EN

Stack Overflow用户

发布于 2011-09-27 14:30:15

直接从ViewModel获取信箱是错误的。相反,您应该引发事件,并让视图执行UI。否则就无法对ViewModel进行单元测试,这是MVVM模式的主要目标之一。

票数 0
EN

Stack Overflow用户

发布于 2011-11-04 16:47:04

如果您使用.resx文件来管理您的翻译,您可以简单地让它们生成代码(在.resx屏幕的组合框中使用Access Modifier: Public ),然后让VM将消息直接发送到视图。

这样,代码生成的资源文件的基础功能将返回所需文本的翻译版本。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7564980

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档