C# 循环浏览TreeView.Items的孩子

C# 循环浏览TreeView.Items的孩子,c#,wpf,C#,Wpf,我在这里得到了这个循环: foreach (object obje in this.treeViewSL.Items) { TreeViewItem TVI = (TreeViewItem)treeViewSL.ItemContainerGenerator.ContainerFromItem(obje); if ((TVI.Header.ToString() == _object.NodeText)) { TVI.IsSelected =

我在这里得到了这个循环:

 foreach (object obje in this.treeViewSL.Items)
 {
     TreeViewItem TVI = (TreeViewItem)treeViewSL.ItemContainerGenerator.ContainerFromItem(obje);

     if ((TVI.Header.ToString() == _object.NodeText)) 
     {
         TVI.IsSelected = true;
         TVI.IsExpanded = true;
         _selectedItem = treeViewSL.SelectedItem as TreeViewItem;
         continue;
     }                       
 } 

如果在第一个项目中有带有此标题的treeview项目,这很好,但treeview.items似乎不计算子节点,它返回1,但有3个,因此1个根节点有2个子节点,我如何也循环这些子节点?

treeview有一个子节点,即根节点。根节点有两个子节点。您需要递归地执行此操作。您熟悉编写递归函数吗?在任何情况下,您都应该通过数据绑定设置这些属性,但如果您使用了
continue,让我们一步一个脚印。所以我需要一个递归函数,它总是像treeview.items.items.items…我不确定你所说的“总是像treeview.items.items.items”是什么意思。我需要遍历treeview项,而不是数据本身,因为我在这里得到随机数据,这些数据附着在treeview中的随机节点上