C# 使用TreeView在XAML中显示具有上下文敏感上下文的层次结构
我想将我以前的表单应用程序转换成一个WPF解决方案,尝试遵循MVVM模式 现在我面临的问题是,我想建立一个上下文敏感的上下文菜单-我不知道如何开始 这是表单应用程序中用于生成层次结构和上下文菜单的代码:C# 使用TreeView在XAML中显示具有上下文敏感上下文的层次结构,c#,wpf,xaml,mvvm,treeview,C#,Wpf,Xaml,Mvvm,Treeview,我想将我以前的表单应用程序转换成一个WPF解决方案,尝试遵循MVVM模式 现在我面临的问题是,我想建立一个上下文敏感的上下文菜单-我不知道如何开始 这是表单应用程序中用于生成层次结构和上下文菜单的代码: _tvLocation.Nodes.Clear(); foreach (Data.Location location in LocationManager.GetAll(this.DataSource)) { TreeNode parent = new T
_tvLocation.Nodes.Clear();
foreach (Data.Location location in LocationManager.GetAll(this.DataSource)) {
TreeNode parent = new TreeNode(location.Name) {
Tag = location,
ContextMenu = new ContextMenu(new MenuItem[] {
new MenuItem("Standort löschen", new EventHandler(DelLocation_Click)) {
Tag = location
},
new MenuItem("Raum hinzufügen", new EventHandler(AddRoom_Click)) {
Tag = location
}
})
};
foreach (Data.Room room in location.GetChildren(DataSource)) {
TreeNode child = new TreeNode(room.Name) {
Tag = room,
ContextMenu = new ContextMenu(new MenuItem[]{
new MenuItem("Raum löschen", new EventHandler(DelRoom_Click)){
Tag = room
},
new MenuItem("Schrank hinzufügen", new EventHandler(AddLocker_Click)){
Tag = room
}
})
};
foreach (Data.Locker locker in room.GetChildren(this.DataSource)) {
TreeNode gradChild = new TreeNode(locker.Name) {
Tag = locker,
ContextMenu = new ContextMenu(new MenuItem[]{
new MenuItem("Schrank löschen", new EventHandler(DelLocker_Click)){
Tag = locker
}
})
};
child.Nodes.Add(gradChild);
}
parent.Nodes.Add(child);
}
_tvLocation.Nodes.Add(parent);
}
_tvLocation.ExpandAll();
有没有办法在WPF中构建类似的东西?当然有-谁能给我一个提示吗?我几乎相信?您可以在WinForms中使用WPF执行的所有操作都是可能的。请看一些与Treeview和HierarchycalDataTemplate相关的教程。下面是一些有用的例子,我已经解决了显示部分,现在我在命令部分。当然,在WPF中,您可以在表单中执行的所有操作都是可能的,甚至更多。。。我会再次尝试理解这个问题。没关系,我会将问题设置为已解决-显然,我在这里问问题太快了,我找到了一些非常好的教程,解释如何创建命令并将它们绑定到视图。无论如何谢谢你!