我对WPF中MVVM概念的解释(与演示者有关)

时间:2012-04-10 08:32:01

标签: wpf mvvm mvp

这是对MVVM概念的正确解释吗?

  • DataTemplates - >图
  • DependencyObject(Controls,ListView等) - >视图模型
  • DataContext - >模型

如果我要创建自己的ViewModel,它会替换实际控件并需要显式模板吗?

单词' Model'在ViewModel中没有对实际模型进行攻击(例如在DomainModel中)?

对于模型我也添加了Presenters,我将其视为实用程序类,以提升和公开属性等视图。你能说ViewModel是一个自上而下的表示(一个视图的模型),一个Presenter更像是一个ModelView,一个自下而上的表示(一个模型的视图)?

在这种情况下,我必须将上述内容修改为:

  • ...
  • DataContext - >演示者
  • 演示者 - >模型

我通常不会从DependencyObject派生来创建我的自定义表示包装器,而只是创建我的自定义通用视图模型,例如控件而不是模型的视图?

1 个答案:

答案 0 :(得分:0)

通常MVVM就是这样解释的:

查看 - >控件,DataTemplates等 型号 - >您的实际数据模型(数据库,或其他)
ViewModel - >公开View可用于DataBinding的属性和命令

这意味着,您的View将ViewModel作为DataContext,ViewModel的属性反映了Model的数据,ViewModel的Commands在Model上运行。在简单的情况下,Model和ViewModel有时是相同的。

可以在此处找到概述:http://blogs.msdn.com/b/johngossman/archive/2005/10/08/478683.aspx
您还可以在构建MVVM应用程序时找到很多示例。