gpt4 book ai didi

wpf - 使用 HierarchicalDataTemplate 显示混合类型

转载 作者:行者123 更新时间:2023-12-04 22:02:00 25 4
gpt4 key购买 nike

我正在尝试使用 HierarchicalDataTemplate 显示混合类型的 TreeView ,但到目前为止我所有的尝试都失败了..

我有一个树状类,可以有两种不同类型的 child 。 (位置和设备)。为了让事情更容易理解,这里是我试图展示的例子:

->Location 1
|
|--->Device 1.1
|--->Device 1.2
|--->Location 1.2
|
|---->Device 1.2.1
|---->Location 1.2.1
.....etc.....

我已经尝试了很多我找到的解决方案,但都没有奏效。在大多数情况下,我只是在 TreeView 中获取类名。我正在尝试使用 HierarchicalDataTemplate 做的事情甚至可能吗?如果是,请告诉我怎么做。

最佳答案

经过几个小时的反复试验,我回到起点并找到了解决方案。我不敢相信它实际上如此简单。

模板看起来像这样:

<HierarchicalDataTemplate x:Key="NavigatorDataTemplate" DataType="{x:Type local:Location}" ItemsSource="{Binding Locations}">
<StackPanel>
<TextBlock Text="{Binding Description}"/>
<ListBox ItemsSource="{Binding Devices}">
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Description}"/>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</StackPanel>
</HierarchicalDataTemplate>

TreeView 就是这样的:

<TreeView Name="treeNav" ItemTemplate="{StaticResource NavigatorDataTemplate}"/>

并且由于需要显示的集合已经在代码中,我只是将它设置为 ItemsSource:

treeNav.ItemsSource = locations;

关于wpf - 使用 HierarchicalDataTemplate 显示混合类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12023830/

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