MVVM了解基础知识



我希望有人能帮我解决这个问题。我尽最大努力尽可能地坚持MVVM模式。是的,我知道这是一个模式,而不是一个框架。

到目前为止,看完这是我的印象。如果这是错误的方法,请告知。

我的项目基本上是一个WMI浏览器,它存储喜爱的查询,并对计算机运行多个查询,然后比较结果。

视图:基本上是项目的XAML部分。在这里,我们将控件绑定到模型视图,包括项源所选项和所需的任何其他项。因此,View无法访问模型视图,它不会在模型视图中存储数据或操作数据。它只限于模型视图内的可观察集合

模型视图:是从客户端交互、IE:选择项目更改或单击按钮中触发事件的位置。模型视图然后使用模型收集的数据,将数据排列在视图的可查看上下文中。

型号:获取最终用户所需的数据,并存储模型视图需要的数据。

我在这件事上接近正确吗?

视图-XAML/控件样式/控件创建

模型视图-数据组织/事件管理/数据显示管理

模型-数据收集/到数据源的远程连接。

只要ViewModel实际上没有处理视图(WPF特定)代码,听起来就不错。

将ViewModels视为技术不可知论者。理论上,您应该能够在控制台或Android应用程序中运行ViewModel,因此在ViewModel级别上,对System.Windows(WPF特定)类的任何引用或依赖都是不可接受的。

我想明白了。比最初预想的要容易一点。

public class ParentNode
{
public ParentNode() { }
public string ParentNodeName { get; set; }
public ObservableCollection<SubNode> AddChildNodes { get; set; }
public ObservableCollection<CheckBoxSubNode> AddCheckBoxChildNodes { get; set; }
}
public class SubNode
{
public SubNode() { }
public String SubNodeName { get; set; }
}
new ParentNode() { 
parentnodename = "parent"
addchildnodes = new SubNode() { Subnodename = "subnode" }
)

然后一些随机XAML绑定到正确的属性,一切都很好。我的视图模型仍然无法直接访问视图。:)

最新更新