Terie 2020-04-30 19:53 采纳率: 0%
浏览 634
已结题

WPF 如何遍历TreeView?

XAML代码中有关TreeView的部分是这样的:

<TreeView x:Name="myTree"  ItemsSource="{Binding nodes, Mode=TwoWay}">
                        <TreeView.ItemTemplate>
                            <HierarchicalDataTemplate ItemsSource="{Binding nodes,Mode=TwoWay}">
                                <StackPanel>
                                    <TextBlock Text="{Binding infoStr,Mode=TwoWay}"></TextBlock>
                                </StackPanel>
                            </HierarchicalDataTemplate>
                        </TreeView.ItemTemplate>
                    </TreeView>

在C#代码中,设置了TreeView的itemsSource为下面的一个对象:

public class TreeViewModel
{       
    public ObservableCollection<TreeViewModel> nodes { get; set; } // 子节点列表
    public NodeInfo nodeInfo; // 本节点的信息
}

现在我要遍历TreeView去查找符合对应的TreeViewModel信息的节点,然后将焦点设置为该节点。但是我遇到了一个迟迟不能解决的问题:下面的这段代码总是返回null。

container.ItemContainerGenerator.ContainerFromIndex(i);

我查询了无数的资料,终于发现要TreeView的节点要展开才能获取到。但是在代码里加了UpdateLayout()让他去自动展开,返回还是null,而且节点并没有预期展开。有没有大佬能耐心解答一下?

  • 写回答

2条回答 默认 最新

  • zqbnqsdsmd 2020-04-30 23:44
    关注
    评论

报告相同问题?