我正在使用WPF技术在Visual Studio Community 2017版本中创建一个新工具,并且按照MVVM架构,我具有如下所示的树状视图结构
-> Parent
->child
->child
这里parent
和child
是不同的类,parent
类包含一个可观察的集合来容纳child
对象。通过选择像child
这样的父节点,我能够成功地将parentobj.collection.add()
对象添加到父级的那个集合中,但是现在我必须从集合中删除所选的child
。
我试图在创建子类时将父类的对象存储在子类中,但是当我对代码进行序列化和反序列化时,我无法获取存储在子类和序列化文件中的对象。
private void AddChild_Click(object sender, RoutedEventArgs e)
{
Parent InsParentViewModel = null;
if (TreeView1.SelectedItem is Parent)
{
InsParentViewModel = TreeView1.SelectedItem as parent;
}
child newchild = new child(InsParentViewModel);
InsParentViewModel.collection.add(newchild );
}
在我的child
类中,我将父对象存储为
class child()
{
parent object;
child(parent insparent)
{
this.object=insparent;
}
}
私有无效AddChild_Click_1(对象发送者,RoutedEventArgs e)
{
child newchild=null;
if(TreeView1.SelectedItem is child)
{
newchild= TreeView1.SelectedItem as child;
}
..........//delete here
}
在此功能中,我想从父级集合中删除子级。 我正在从GUI的树形视图中选择chidnode。
因此,我想知道如何在选择子节点时访问父对象。