.net - 是什么让 MVVM 特别适合 WPF?

标签 .net wpf design-patterns mvvm

Model-View-ViewModel在 WPF 和 Silverlight 中非常受欢迎。我一直在将它用于我最近的项目,并且是一个非常忠实的粉丝。

我知道这是对 MVP 的改进。 .但是,我想知道 WPF(和 Silverlight)的哪些独特特性允许 MVVM 工作,并阻止(或至少使困难)这种模式使用其他框架或技术工作。

我知道 MVVM 非常依赖 WPF 中强大的数据绑定(bind)技术。这是许多文章和博客似乎提到的一个功能,它是 WPF 的关键,它提供了将 View 与 ViewModel 强分离的方法。但是,many forms 中存在数据绑定(bind)。在其他 UI 框架中。甚至还有像 Truss 这样的项目为 .NET 中的 POCO 提供 WPF 样式的数据绑定(bind)。

除了数据绑定(bind)之外,还有哪些功能使 WPF 和 Silverlight 特别适合 Model-View-ViewModel?

最佳答案

DataBinding、命令、控件模板和 XAML。

如果没有其中之一,MVVM 将更加困难,如果不是不可能的话。以 ASP.net 为例,它有 ASPX 部分(为了示例,它相当于 XAML),它有数据绑定(bind),但它没有命令或控制模板,所以 MVVM 在那里是不可能的。在 WinForms 中,我们有数据绑定(bind),仅此而已,所以也不可能。

关于.net - 是什么让 MVVM 特别适合 WPF?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1521331/

相关文章:

c# - 如何在 C# 中将持久实体转换为具体类型

winforms - 我应该使用什么设计模式来将对象模型状态的更改同步到 GUI 的状态?

c# - 如何将 int 转换为位掩码?

c# - 内存映射文件 : IOException on CreateViewAccessor for large data

c# - 基类包含字段 'Head1' ,但其类型不兼容

c# - Path.GetDirectoryName 在 UNC 路径上返回 null

c# - CollectionViewSource 违反 MVVM

WPF 列表框集合自定义排序

c# - x :Name in XAML WPF - Visual Studio Community 2017 BUG

java - 模型 View 同步(或避免同步)