WPF错误处理多语言

问题描述:

情况WPF错误处理多语言

我想实现我的WPF MVVM应用程序的多个语言ErrorHandling中。我做了一些网络上的研究和跨这篇文章就来了:

问题1

你不能移动的错误处理在一个地方?在德视图模型或模型,但我不明白为什么这两个类有位ErrorHandling中的原因...

问题2

在他的榜样的错误消息设置在模型课堂上,这是一个好习惯吗?它看起来有点“坏编码”给我......或者我在这里错了吗?

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

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

我毫不犹豫地说“从不”,但我认为模型需要知道它的语言环境是非常罕见的。

我们正在利用我们的多语言支持以下内容:

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

这使我们能够通过可以在视图中翻译错误左右键。

希望这会有所帮助!