0wl*_*0wl 3 wpf treeview hierarchicaldatatemplate
我试图使用HierarchicalDataTemplate显示混合类型的树视图,但到目前为止我的所有尝试都失败了..
我有一个类似树的班级,可以有两种不同类型的孩子.(位置和设备).为了让事情变得可以理解,我想要展示的是:
->Location 1
|
|--->Device 1.1
|--->Device 1.2
|--->Location 1.2
|
|---->Device 1.2.1
|---->Location 1.2.1
.....etc.....
Run Code Online (Sandbox Code Playgroud)
我尝试了很多我找到的解决方案,但都没有效果.在大多数情况下,我只是在树视图中获取类名.我正在尝试使用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>
Run Code Online (Sandbox Code Playgroud)
TreeView就是这样的:
<TreeView Name="treeNav" ItemTemplate="{StaticResource NavigatorDataTemplate}"/>
Run Code Online (Sandbox Code Playgroud)
由于需要显示的集合已经在代码中,我只需将其设置为ItemsSource:
treeNav.ItemsSource = locations;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6479 次 |
| 最近记录: |