var node = new TreeViewItem() { Header = "根节点", IsExpanded = true }; node.Items.Add(new TreeViewItem { Header = "总经理" }); node.Items.Add(new TreeViewItem { Header = "副总" }); var one = new TreeViewItem { Header="研发部"}; one.Items.Add(new TreeViewItem { Header = "张三" }); one.Items.Add(new TreeViewItem { Header = "李四" }); one.Items.Add(new TreeViewItem { Header = "王五" }); node.Items.Add(one); var two = new TreeViewItem { Header = "设计部" }; two.Items.Add(new TreeViewItem { Header = "李薇薇" }); two.Items.Add(new TreeViewItem { Header = "张凯" }); two.Items.Add(new TreeViewItem { Header = "王晓天" }); node.Items.Add(two);
要求是在根节点,有子节点的节点,无子节点的节点显示不同的右键菜单。
我知道<TreeView.ContextMenu></TreeView.ContextMenu>是可以做菜单的。
但是我的TreeView是后台代码动态生成的,所以要把这个ContextMenu当成样式放到外部文件,然后动态引用
知道这样做,但是不会,老司机请指路。
不胜感激
你这家伙问问题从来不给分的。
树节点对应的ViewModel加个Context menu的属性,绑定在节点的右键菜单上,菜单的内容在属性的Get方法里根据类型去返回就好了啊。
d第一次写wpf的东东,真不知道怎么用viewmodel,怎么绑定。麻烦贴代码吧,谢谢!
对了,我给了10分,够吗?