【问题标题】:Is MVVM an alternative to Expression Blend?MVVM 是 Expression Blend 的替代品吗?
【发布时间】:2023-11-08 05:44:01
【问题描述】:

我确定这是一个菜鸟问题,但我以前从未使用过 WPF。 MVVM 是 Expression Blend 的替代品吗?

【问题讨论】:

  • 不知道为什么你被否决了。为您的新知识 +1。
  • 感谢您的所有回答。他们都帮助我更好地理解。
  • 勇敢地在我们称之为 SO 的鲨鱼出没的环境中提出这样的问题。 8) 点赞!

标签: c# wpf mvvm expression-blend


【解决方案1】:

没有。它们是完全不同的概念。

Expression Blend 是用于创建界面的软件 - 它是设计人员使用 WPF 的工具。

MVVM 是一种设计模式——它是一种架构,可用于使 WPF 应用程序干净且易于维护。

您完全有能力将 Blend 与 MVVM 一起使用 - 事实上,这是 MVVM 提供的好处之一(它可以很容易地将 UI 设计与编程分开)。

【讨论】:

  • 谢谢里德。我确实查看了 Wiki,但作为初学者,很多信息都在我的脑海中。感谢您的简洁
  • 应该清楚 Expression Blend 用于创建应用程序的外观和感觉方面 - 视图(按钮、控件的位置、颜色、它们的表示方式) - 但不是代码.
【解决方案2】:

没有; MVVM 是一种设计模式,而 Expression Blend 是一个程序。见:

http://en.wikipedia.org/wiki/MVVM http://en.wikipedia.org/wiki/Expression_Blend http://www.google.com/

Blend 实际上创建了可以用作 MVVM 的代码

【讨论】:

    【解决方案3】:

    不,一点也不。事实上,MVVM 应该是一种帮助使用 Expression Blend 的设计人员与编写功能的开发人员合作的方法。这个想法是 MVVM 在 View 和 ViewModel 之间提供了更好的分离。这为您提供了一些优势:

    • 您可以将真实的 ViewModel 替换为模拟 ViewModel(可能基于 XML),这样设计人员就可以在 Blend 中使用一些数据。
    • 您可以为您的 ViewModel 编写单元测试,其中(希望)包含您的所有功能。单元测试成为 ViewModel 的另一个使用者,就像 View 一样。

    【讨论】:

    • +1 指出“可混合性”通常是 MVVM 的目标之一(例如,在 Laurent 的 MVVM Light 中)