DevExpress WPF拥有120+个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpress WPF能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。 无论是Office办公软件的衍伸产品,还是以数据为中心的商业智能产品,都能通过DevExpress WPF控件来实现。
节点(Nodes)对应于数据源中的记录,并由TreeListNode对象表示。
Node Iterator允许您遍历节点,而无需编写递归代码。从指定节点开始,直到树中包含的最后一个节点,逐个访问节点。
下图说明了处理节点的顺序。

DevExpress技术交流群11:749942875 欢迎一起进群讨论
要遍历节点,请执行以下操作。
- 创建TreeListNodeIterator类的一个新实例,多个构造函数允许您指定一个开始节点或节点集合,以及是否只处理可见节点。
注意:如果指定了节点集合,则从指定集合中的第一个节点开始处理节点。
- 使用TreeListNodeIterator.MoveNext方法遍历节点,当前处理的节点由TreeListNodeIterator.Current属性返回。每次调用TreeListNodeIterator.MoveNext方法时,节点迭代器移动到层次结构中的下一个节点并更新TreeListNodeIterator.Current 属性。如果当前节点是最后一个节点,TreeListNodeIterator.MoveNext方法返回false。
要将节点迭代器重置为初始状态,请调用TreeListNodeIterator.Reset方法。
示例:如何遍历所有可见节点
此示例展示了如何遍历所有可见节点来展开具有4个子节点或更多子节点的节点,具有少于4个子节点的节点将被折叠。

MainWindow.xaml
<dxg:GridControl x:Name="grid" AutoGenerateColumns="AddNew" EnableSmartColumnsGeneration="True" Loaded="OnGridLoaded"> <dxg:GridControl.View> <dxg:TreeListView x:Name="view" AutoWidth="True" KeyFieldName="ID" ParentFieldName="ParentID"/> </dxg:GridControl.View> </dxg:GridControl>
MainWindow.xaml.cs
void SmartExpandNodes(int minChildCount) { TreeListNodeIterator nodeIterator = new TreeListNodeIterator(view.Nodes, true); while (nodeIterator.MoveNext()) nodeIterator.Current.IsExpanded = nodeIterator.Current.Nodes.Count >= minChildCount; } void OnGridLoaded(object sender, RoutedEventArgs e) { SmartExpandNodes(4); }
MainWindow.xaml.vb
Private Sub SmartExpandNodes(ByVal minChildCount As Integer) Dim nodeIterator As TreeListNodeIterator = New TreeListNodeIterator(Me.view.Nodes, True) While nodeIterator.MoveNext() nodeIterator.Current.IsExpanded = nodeIterator.Current.Nodes.Count >= minChildCount End While End Sub Private Sub OnGridLoaded(ByVal sender As Object, ByVal e As RoutedEventArgs) SmartExpandNodes(4) End Sub
更多产品资讯及授权,欢迎来电咨询:023-68661681
更多DevExpress线上公开课、中文教程资讯请上中文网获取
关于慧都科技
慧都是⼀家⾏业数字化解决⽅案公司,专注于软件、⽯油与⼯业领域,以深⼊的业务理解和⾏业经验,帮助企业实现智能化转型与持续竞争优势。
慧都是DevExpress的中国区的合作伙伴,DevExpress作为用户界面领域的优秀产品,帮助企业高效构建权限管理、数据可视化(如网格/图表/仪表盘)、跨平台系统(WinForms/ASP.NET/.NET MAUI)及行业定制解决方案,加速开发并强化交互体验。
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果
转载请注明:文章转载自:DevExpress控件中文网 [https://www.devexpresscn.com/]
本文地址:https://www.devexpresscn.com/post/5254.html
相关产品: DevExpress WPF Subscription, DevExpress Universal Subscription,