gpt4 book ai didi

wpf - MVVM 本地化 - View 中的本地化资源与 ViewModel 中的资源?

转载 作者:行者123 更新时间:2023-12-05 01:28:35 24 4
gpt4 key购买 nike

本地化是 View 的责任还是 ViewModel 的责任?最初,我认为它显然属于VM,因为它只是 View 需要显示的数据。究竟需要显示什么对 View 来说并不重要。此外,我已经体验到 XAML 比 ViewModel 代码更脆弱。但在今天的一次讨论中,有人强烈认为本地化是观点的责任。

以下是我看到的两个版本的一些优点:

将它们放入 View 的优点:

  • ViewModel 忽略了本地化
  • 您可以在 XAML
  • 中看到资源键
  • 少码

  • 将它们放入 ViewModel 的优点:
  • View 忽略了本地化
  • View 不需要知道任何东西,除了它的 ViewModel
  • 组合和创建更复杂的字符串更容易。

  • 在使用 MVVM 模式的 Wpf 应用程序中,可本地化的元素(字符串资源)应该进入 View 还是 View 模型?为什么?这两种方法还有哪些其他优点和缺点?

    评论后的一些背景信息:假设本地化后端基于 resx(而不是 LocBaml)。此外,假设有一个框架 (View-Variant) 可以透明地用字符串替换 View 中的资源 ID,或者 (ViewModel-Variant) 会自动为 ViewModel 上的本地化属性生成 INotifyPropertyChanged 事件。

    但是,我主要对为什么从概念或更清晰的代码的角度来看它更好的争论感兴趣,而不管后端。

    最佳答案

    有些资源属于View,有些资源属于ViewModel。我认为在这方面没有严格的规定。使用你自己的判断。就个人而言,我与 View 共享 ViewModel 的资源文件。

    关于wpf - MVVM 本地化 - View 中的本地化资源与 ViewModel 中的资源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20548357/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com