gpt4 book ai didi

c# - MVVM ViewModel 和属性类型 (PresentationCore.dll )

转载 作者:行者123 更新时间:2023-12-03 10:53:21 26 4
gpt4 key购买 nike

关闭。这个问题是 opinion-based 。它目前不接受答案。












想改进这个问题?更新问题,以便可以通过 editing this post 用事实和引用来回答它。

6年前关闭。




Improve this question




我们可以在我的 ViewModel 中使用针对 UI/UI 框架的程序集中的类吗?

今天我讨论了一个 question,其中一个人非常坚持认为 PresentationCore.dll 中的类不能在 ViewModel 中使用。(好像他从来没有使用过 ICommand)但是是这样吗?

据我了解,MVVM 只是 View & ViewModel 解耦的一种模式?它没有说明我可以在 ViewModel 中使用哪种类型的类,只要它们不创建 View ( ViewModel 没有直接引用 View 或关于 View 的特定实现或类型 的任何知识)。

请不要回答什么是好的做法,我只是想清楚 MVVM。

最佳答案

有时 MVVM 看起来像宗教,有自己的趋势。 :)

以下是 MVVM 教派成员之间圣战的主题:

  • 先查看 vs 先查看模型;
  • 做/不暴露PresentationFramework/WindowsBase来自 View 模型的类型;
  • 做/不通过您的 View 模型公开模型,并将 View 直接绑定(bind)到模型;
  • 转换器与 View 模型属性;
  • 在 View 模型中聚合模型/将模型数据映射到 View 模型;
  • 使用事件聚合器/使用服务。

  • 最危险的是“纯 MVVM”狂热分子。没有人确切知道什么是“纯 MVVM”,但如果你违背了他们的信念,他们就准备好烧死你了。

    MVVM 只是希望您将 View 逻辑与 View 模型逻辑分开。
    就是这样 .

    上面的列表只是一组方法,而不是教条。而且,实际上,它们都适合 MVVM。使用或不使用只是方便和当前项目架构的问题。

    关于c# - MVVM ViewModel 和属性类型 (PresentationCore.dll ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35084542/

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