gpt4 book ai didi

c# - WPF C# 获取 TreeView 的根节点

转载 作者:太空宇宙 更新时间:2023-11-03 19:33:33 24 4
gpt4 key购买 nike

我有一个通过 HierarchicalDataTemplate 绑定(bind)的 TreeView

        <HierarchicalDataTemplate x:Key="HierachrTree" DataType="{x:Type src:Ordner}" ItemsSource="{Binding UnterOrdner}">
<TextBlock Text="{Binding OrdnerName}"/>
</HierarchicalDataTemplate>

那是我的 TreeView:

<TreeView Name="DokumentBrowser" ItemTemplate="{StaticResource HierachrTree}"

现在我想获取第一个节点并将 IsExpanded 属性设置为 false。

我这样试过

        ItemCollection ic = DokumentBrowser.Items;
TreeViewItem tvi = (TreeViewItem)ic.GetItemAt(0);
tvi.IsExpanded = false;

但我无法将对象转换回 TreeViewItem 以获取 IsExpanded 属性。

最佳答案

TreeView.Items 是数据对象的集合,而不是 TreeViewItems 的集合。您可以使用 ItemContainerGenerator获取从数据对象到作为容器的 TreeViewItems 的映射。

TreeViewItem tvi =
(TreeViewItem) DokumentBrowser.ItemContainerGenerator.ContainerFromIndex(0);

如果您从数据对象而不是索引开始,那么您可以使用 ContainerFromItem:

TreeViewItem tvi =
(TreeViewItem) DokumentBrowser.ItemContainerGenerator.ContainerFromItem(
DokumentBrowser.Items.GetItemAt(0));

关于c# - WPF C# 获取 TreeView 的根节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3514043/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com