wpf - WPF错误处理多语言

标签 wpf mvvm

情况:

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

  • Using a ViewModel to Provide Meaningful Validation Error Messages

  • 问题1 :

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

    问题2 :

    在他的示例中,错误消息设置在模型类中,这是一种好习惯吗?在我看来,这似乎是“编码错误” ...还是我在这里错了?

    最佳答案

    问题1:要记住的是MVVM模式各部分的作用。该模型中需要发生一定数量的错误处理,但是它只应与业务逻辑有关。这些错误需要传达给模型或 View 模型的“客户端”。同样, View 模型中可能会发生一些错误处理,但应将其限制于 View 模型的角色(即,它必须独立于 View )。

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

    我会犹豫地说“从不”,但是我认为很少有模型需要知道其语言环境。

    我们将以下内容用于我们的多语言支持:

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

    这使我们可以传递可以在 View 中转换的错误键。

    希望这可以帮助!

    关于wpf - WPF错误处理多语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15297111/

    相关文章:

    c# - 在 WPF Viewport3D 中可视化点云非常慢

    c# - 网络浏览器打印

    c# - 每次我的 WPF 应用程序启动时,JumpList 都会重置

    c# - 编辑 DataGridTextColumn 时在当前行上执行方法

    wpf - Windows Phone 7/Silverlight/WPF MVVM 开发

    c# - WPF 数据网格允许用户添加行?

    c# - 2D WPF 游戏,我有哪些选择?

    c# - 在 WPF 中使用单独的 ViewModel 将多个选项卡视为单独的 View

    WPF DataGrid默认排序不起作用

    c# - 回滚与刷新和重新加载实体数据