让viewmodel将子视图添加到其视图中是否正确?

时间:2017-06-28 10:22:56

标签: wpf xaml mvvm viewmodel

我目前正在学习WPF中的MVVM模式。我认为这很酷但我的问题是:直接使用viewmodel将子视图附加到其视图是否正确?

例如,假设我们有一个方法,其中包含一个循环,当单击一个按钮时,该循环会向网格添加新行。我的ViewModel应该只包含纯数据还是包含用于在字段上放置新元素的逻辑?除了删除它们。

1 个答案:

答案 0 :(得分:1)

  

直接使用viewmodel将子视图附加到视图是否正确?

没有。视图模型不应该知道任何视图元素。

  

我的ViewModel是否只包含纯数据,还是包含用于在字段上放置新元素的逻辑?除了删除它们。

前者。视图模型可以公开视图恰好在Grid中显示的数据对象的集合。或者其他一些小组。视图模型并不关心哪个。

您通常会在视图中使用ItemsControl来显示视图模型集合中的项目,即ItemsControl绑定到源集合并显示面板中每个项目的直观表示。