WPF错误处理多语言

时间:2013-03-08 15:10:19

标签: wpf mvvm

场合

我想在WPF MVVM应用程序中实现多种语言的错误处理。我在互联网上做了一些研究,发现了这篇文章:

问题1

你不能把错误处理移到一个地方吗?在de Viewmodel或模型中,但我看不出两个类都有一些错误处理的原因......

问题2

在他的例子中,错误消息是在模型类中设置的,这是一个好习惯吗?它看起来对我来说是“糟糕的编码”......或者我错了吗?

1 个答案:

答案 0 :(得分:0)

问题1:要记住的是MVVM模式的每个部分的角色。需要在模型中进行一定量的错误处理,但它应该只与业务逻辑相关。这些错误需要传达给模型的“客户”或视图模型。类似地,视图模型中可能会出现一些错误处理,但应限于视图模型的角色(即,它需要独立于视图)。

问题2:我不喜欢在模型中设置错误消息,也不在视图模型中设置错误消息。错误信息需要传递到可以正确格式化和转换的视图。这允许为不同语言创建视图,而无需更改视图模型(或模型)中的任何代码。

我犹豫说“从不”,但我认为模型很少需要了解其语言环境。

我们正在使用以下内容进行多语言支持:

http://www.codeproject.com/Articles/35159/WPF-Localization-Using-RESX-Files

这允许我们传递可以在视图中翻译的错误键。

希望这有帮助!