gpt4 book ai didi

silverlight - 在 MVVM 中,何时应该使用属性与转换器?

转载 作者:行者123 更新时间:2023-12-03 10:14:19 24 4
gpt4 key购买 nike

我们已经在工作中讨论了几次关于何时在 ViewModel 中使用属性与何时使用 Converter 的讨论。

在以下情况下使用转换器:

  • 它可以在其他地方重复使用(一个很好的例子是 IsVisibilityConverter)
  • 这是一个与 UI 相关的操作,例如根据参数值选择切换按钮
  • 不需要参数或可以是静态值

  • 在以下情况下使用 ViewModel 属性:
  • 该值取决于另一个属性(例如:以秒为单位显示的持续时间取决于用户在组合框中选择的内容,小时、分钟、秒)
  • 需要进行单元测试
  • PropertyChanged 事件可以改变它的值

  • 编辑:我应该提到我主要在 Silverlight 中工作。所以我没有开箱即用的多重绑定(bind)转换器,并且绑定(bind)到参数不起作用(我认为它在 WPF 中起作用)。
    你怎么认为?

    最佳答案

    总的来说,我试着想 IValueConverter作为一个“纯粹的观点”的东西。在这种情况下,它应该是可重用的 View 代码。 (你也可以使用 IMultiValueConverter 来处理许多你需要“参数”的场景,只要它仍然是纯 View 相关的......)

    另一方面,ViewModel 是特定于应用程序的逻辑。如果某些东西依赖于特定于您的域的状态,我宁愿将其直接放在 ViewModel 中。

    关于silverlight - 在 MVVM 中,何时应该使用属性与转换器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6553071/

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