我有一個樹視圖創建使用HierarchicalDataTemplate有您可以在下面的代碼中看到:WPF樹視圖以分層數據模板和多類型
<TreeView ItemsSource="{Binding AllFolders}" SelectedItemChanged="TreeView_SelectedItemChanged"/>
而且
<HierarchicalDataTemplate DataType="{x:Type model:Folder}" ItemsSource="{Binding Tools}">
<StackPanel Orientation="Horizontal">
<Image Source="{StaticResource ResourceKey=icon}"/>
<TextBlock Text="{Binding Title}"/>
</StackPanel>
</HierarchicalDataTemplate>
<DataTemplate DataType="{x:Type model:Tool}">
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Name}"></TextBlock>
</StackPanel>
</DataTemplate>
它運作良好,但現在我需要在文件夾中添加其他類型的對象以使樹視圖如下所示:
- 文件夾1 個
- 文件夾2
- 工具
- 工具1
- 工具2
- 位置
- 位置1
- 位置2
- 工具
- 文件夾3
工具和位置必須使用不同的DataTemplate。他們都是IList包含在文件夾類(IList<Tool>
和IList<Location>
)。
它甚至有可能做到這一點? 我該如何做到這一點?
感謝您的幫助
謝謝,並告訴我,如果我錯了,這種解決方案將兩種類型(工具和位置)混合使用。即使我對集合進行排序,我也永遠無法在樹視圖中只展開一種類型,對吧? – Desnoxav 2014-09-25 15:46:30
您的更新很好地描述了我想要做的事情。但主要問題是如何技術性地創建分層數據模板。它只能有一個ItemsSource。 – Desnoxav 2014-09-26 15:32:17