1

У меня есть `` TreeView which uses a custom ItemsPanel to show the first level of items in a StackPanel , but I need to show subitems in a StackPanel too. The problem is, the second level of items are shown in a WrapPanel , and as HierarchicalDataTemplate doesn't have an ItemsPanel` собственности я не уверен, как это сделать. Это моя XAML:WPF: HierarchicalDataTemplate ItemsPanel

<TreeView x:Name="treGlobalCards"> 
    <TreeView.ItemsPanel> 
     <ItemsPanelTemplate> 
      <StackPanel IsItemsHost="True" Orientation="{Binding Orientation,RelativeSource={x:Static RelativeSource.TemplatedParent}}" 
         MaxWidth="{Binding ActualWidth,RelativeSource={RelativeSource AncestorType={x:Type ScrollContentPresenter}}}"/> 
     </ItemsPanelTemplate> 
    </TreeView.ItemsPanel> 
    <TreeView.ItemTemplate> 
    <HierarchicalDataTemplate x:Key="CardTypeTemplate" ItemsSource="{Binding Cards}"> 
     <TextBlock Text="{Binding Path=CardType}"/> 
    </HierarchicalDataTemplate> 
    </TreeView.ItemTemplate> 
</TreeView> 

ответ

0

Создать новый DataTemplate, который использует StackPanel и установить HierachicalDataTemplate в «ItemTemplate» в этот новый DataTemplate.

т.е.

 

<DataTemplate x:Key="someTemp"> 
    <StackPanel /> 
</DataTemplate> 

<HierarchicalDataTemplate x:Key="hierTemp" ItemSource="{Binding}" ItemTemplate="{StaticResource someTemp}" /> 
 
Смежные вопросы