WPF: HierarchicalDataTemplate ItemsPanel - PullRequest
       29

WPF: HierarchicalDataTemplate ItemsPanel

1 голос
/ 08 апреля 2010

У меня есть `` 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:

<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>

1 Ответ

0 голосов
/ 08 апреля 2010

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

т.е.


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

<HierarchicalDataTemplate x:Key="hierTemp" ItemSource="{Binding}" ItemTemplate="{StaticResource someTemp}" />

...