wpf - 将实现与模式的某些部分匹配

标签 wpf silverlight mvvm mvvm-light

在尝试理解 MVVM 模式时,我遇到了 this video链接自 MVVM Light Toolkit website .
TechDays 2010 - Laurent Bugnion 指出 WPF/Silverlight 的结构都使用 MVVM 模式。有人可以澄清一下 WPF/SL 中的哪些组件(Bugnion 专门命名并在下面列出)是模型、 View 模型和 View 吗?
这些是他所说的作为 MVVM 模式的一部分的三个项目:

  • 代码
  • 依赖属性
  • 控制模板(数据模板?)
  • 最佳答案

    我是第一个承认这有点牵强的人;)但让我澄清一下。该声明旨在说明 MVVM 是 SL/WPF(以及所有其他使用 XAML 和数据绑定(bind)的框架)中非常自然的模式。在示例中,我讨论了控件代码(不是一般的“代码”,而是专门指控件的代码,例如 Button 类)与其模板之间的关注点分离。在此图中,代码的作用类似于 ViewModel,即它驱动 View 。模板更明显是 View 。两者之间的粘合剂是通过依赖属性启用的数据绑定(bind)。

    当我说它有点牵强时,我们可以看到这个类比中没有模型。此外,将控件的 View 绑定(bind)到其 View 模型(代码)的机制比 DP 和绑定(bind)要复杂一些。还添加了命名约定。

    回想起来,我想我本来可以更清楚,我把这个比喻推得太远了。我想我希望你从中得到的主要观点是:在 SL/WPF 中,代码和 View 通过数据绑定(bind)松散耦合。这适用于基本控件,您还可以借助数据绑定(bind)以松散耦合的方式构建应用程序。

    我希望它现在更有意义了;)

    干杯,
    洛朗

    关于wpf - 将实现与模式的某些部分匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8541149/

    相关文章:

    c# - 获取 ICollectionView 的 Count 属性

    wpf 2d 高性能图形

    c# - MVVM-Light => 将命令参数和 EventArgs 传递给命令

    c# - 如何使用mvvm在WPF中的DataGrid中的单元格中进行IsReadOnly更改

    c# - 如何将 DBNull 检查到 linq 或 int32 中?

    c# - 接受触摸而不移动鼠标?

    silverlight - 使用 silverlight toolkit 5 控件时出现异常

    silverlight - 以编程方式滚动 Silverlight 列表框

    silverlight - 无法在 xaml 中创建 View 模型实例

    c# - 反射权限异常