WPF 中的自动展开树视图
有没有办法在 WPF 中自动展开树视图中的所有节点?我搜索了,甚至没有在 treeview 属性中找到展开功能。
谢谢
Is there a way to automatically expand all nodes from a treeview in WPF? I searched and didn't even find an expand function in the treeview property.
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
您可以设置 ItemContainerStyle 并使用 IsExpanded 属性。
如果您需要从代码中执行此操作,您可以为树视图项编写视图模型,并将 IsExpanded 属性绑定到模型中相应的属性。有关更多示例,请参阅 Josh Smith 在 CodeProject 上发表的精彩文章: Simplifying the WPF TreeView by Use the ViewModel图案
You can set ItemContainerStyle and use IsExpanded property.
If you need to do this from code, you can write viewmodel for your tree view items, and bind IsExpanded property to corresponding one from model. For more examples refer to great article from Josh Smith on CodeProject: Simplifying the WPF TreeView by Using the ViewModel Pattern
这就是我使用的:
为了使其工作,您必须在根节点的 foreach 循环中调用此方法:
This is what I use:
In order for it to work you must call this method in a foreach loop for the root node:
如果你想手动扩展,你可以尝试
Xaml:
c#:
if you want expand manually you can try
Xaml:
c#:
卡洛的答案更好,因为它打开了所有级别
这通过更简洁的代码示例改进了该示例。
使用这行代码调用它
Carlo's answer was better because it opens all levels
This improves upon that example with a little more concise code example.
Call it by using this line of code
另一种操作树项完全展开的编程方法(可能通过 C# 代码)是在根节点上使用
TreeViewItem.ExpandSubTree()
命令。Another programmatical way to manipulate full expansion of tree items, maybe via c# code, is using the
TreeViewItem.ExpandSubTree()
command on a root node.