我有一个带有两个相似子树的分层数据结构:
Iteration:
string Name
string Image
ObservableCollection<Iteration> SubIterations
ObservableCollection<Iteration> BacklogIterations
我想使用两个树视图呈现树的两个略微不同的视图。
元素应显示相同,但需要使用不同的属性拾取子项。
即。我想参数化HierarchicalDataTemplate中的ItemsSource:
<HierarchicalDataTemplate x:Key="IterationItem"
ItemsSource="{Binding SubIterations}"
>
<StackPanel Orientation="Horizontal">
<Image Width="32" Height="32"
Margin="3,0" Source="{Binding Picture}" />
<TextBlock Text="{Binding Name}" />
</StackPanel>
</HierarchicalDataTemplate>
<TreeView ItemsSource="{Binding RootSprintIteration}">
</TreeView>
<TreeView ItemsSource="{Binding RootBacklogIteration}">
</TreeView>
如何在第二个树中获取HierarchicalDataTemplate以使用不同的ItemsSource? 我不想复制整个HierarchicalDataTemplate定义只是为了更改ItemsSource。
答案 0 :(得分:1)
将数据的Viauslization放在DataTemplate中,并创建两个HierarchicalDataTemplates,将ItemTemplate设置为创建的DataTemplate。您没有理由为shouoldnt创建两个HierarchicalDataTemplates。它们为您提供了您希望的参数化,并允许您对两者使用相同的ItemTemplate