我希望有人可以为我解决这个问题。我尽可能地努力坚持MVVM模式。是的,我明白这是一种模式而不是框架。
到目前为止,这是我印象中的印象。请告知这是否是错误的方法。我的项目基本上是一个WMI浏览器,可以存储喜欢的查询并对计算机运行多个查询,然后比较结果。
观点: 基本上是项目的XAML部分。在这里,我们将控件绑定到模型视图,包括itemssource选择的项目和所需的任何其他内容。 因此View无法访问模型视图,它不会在模型视图中存储数据或操作数据。它只限于模型视图中的可观察集合
模型视图: 是从客户端交互发生的位置和事件触发器,IE:选择项目更改或单击按钮。然后,模型视图使用模型收集的数据在视图的可查看上下文中排列数据。
模特: 获取最终用户所需的数据,并存储模型视图需要时的数据。
我甚至接近这个吗?
查看 - XAML /控件样式/控件创建
模型视图 - 数据组织/事件管理/数据显示管理
模型 - 数据收集/远程连接到数据源。
答案 0 :(得分:0)
只要您的ViewModel实际上没有处理视图(特定于WPF)的代码,那就很好。
将ViewModels视为技术无关。从理论上讲,您应该能够在控制台或Android应用程序中运行ViewModel,因此在System.Windows
(特定于WPF)类中的任何引用或依赖项在ViewModel级别都是不可接受的。
答案 1 :(得分:0)
我想出来了。比预想的要容易一些。
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绑定绑定到正确的属性,一切都很好。 我的视图模型仍然不能直接访问视图。 :)