首页 新闻 会员 周边

wpf如何动态给TreeView添加ContextMenu?

0
悬赏园豆:10 [已解决问题] 解决于 2016-11-24 14:03

            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当成样式放到外部文件,然后动态引用

知道这样做,但是不会,老司机请指路。

不胜感激

Eysa的主页 Eysa | 初学一级 | 园豆:62
提问于:2016-09-20 13:50
< >
分享
最佳答案
0

你这家伙问问题从来不给分的。

树节点对应的ViewModel加个Context menu的属性,绑定在节点的右键菜单上,菜单的内容在属性的Get方法里根据类型去返回就好了啊。

收获园豆:10
Darren.Dai | 菜鸟二级 |园豆:329 | 2016-09-21 11:58

d第一次写wpf的东东,真不知道怎么用viewmodel,怎么绑定。麻烦贴代码吧,谢谢!

Eysa | 园豆:62 (初学一级) | 2016-09-21 11:59

 对了,我给了10分,够吗?

Eysa | 园豆:62 (初学一级) | 2016-09-21 12:00
Darren.Dai | 园豆:329 (菜鸟二级) | 2016-09-21 13:08
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册