wpf-c#treeview控件的根节点怎么用右键菜单动态添加子节点

wpf-c#treeview控件的根节点怎么用右键菜单动态添加子节点,第1张

TreeNode RootNode=new TreeNode()this.treeView1.Nodes.Add(RootNode)就这样加根节点,子节点也是同样方法。 语句: ParentNode.ChildNodes.Add(ChildNode)其中: ParentNode:父结点 ChildNodes:VS默认的父节点属性

WPF中TreeView的items一般为TreeViewItem,同时TreeViewItem自身又可以包含新的TreeViewItem,从而形成一棵子树,你想要几级节点就有几级节点了。

C#如下:

          TreeView treeView = new TreeView()

          //第一级,在treeView上添加

          TreeViewItem treeViewItem1 = new TreeViewItem()

          treeViewItem1.Header = "第一级"

          treeView.Items.Add(treeViewItem1)

          //第二级,在treeViewItem1上添加

          TreeViewItem treeViewItem2 = new TreeViewItem()

          treeViewItem2.Header = "第二级"

          treeViewItem1.Items.Add(treeViewItem2)

          //第三级,在treeViewItem2上添加

          TreeViewItem treeViewItem3 = new TreeViewItem()

          treeViewItem3.Header = "第三级"

          treeViewItem2.Items.Add(treeViewItem3)

结果图:

采用mvvm设计模式:两个treeview的Itemssource应该绑定各自的如ObservableCollcetion<DataClass>这样的集合。可以在DataClass中新增一个用于表示是否变灰的bool属性。在样式中使用触发器,当bool值为true,就变灰。然后当有个Treeview里面的Item添加到目的地列表中的时候,将该Item种的DataClass的是否变灰属性设置为true即可实现你要的功能。

记得DataClass实现接口INotifyPropertyChanged

其他人的回答你完全可以忽略了。因为其他人的回答把wpf程序硬是做成了winform。如果你用别人的方法,你的程序和winform做的,asp.net做的没啥区别了。也没有利用到wpf的特点。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/bake/11860322.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存