WPF:设置HierarchycalDataTemplate的样式

WPF:设置HierarchycalDataTemplate的样式,wpf,xaml,treeview,treeviewitem,hierarchicaldatatemplate,Wpf,Xaml,Treeview,Treeviewitem,Hierarchicaldatatemplate,下面是一个简单的数据模板 <Grid.Resources> <HierarchicalDataTemplate ItemsSource="{Binding Items}" DataType="{x:Type entities:Folder}" ItemContainerStyle="{StaticResource FileComponentItem}"> <Grid ShowGridLines="False" HorizontalAlignment="Cen

下面是一个简单的数据模板

<Grid.Resources>
<HierarchicalDataTemplate ItemsSource="{Binding Items}" DataType="{x:Type entities:Folder}" ItemContainerStyle="{StaticResource FileComponentItem}">
    <Grid ShowGridLines="False" HorizontalAlignment="Center">
        <TextBlock Grid.Column="0" Text="{Binding Type}" />
    </Grid>
</HierarchicalDataTemplate>
<HierarchicalDataTemplate ...... />
</Grid.Resources>

这适用于TreeView

<TreeView Grid.Row="1" BorderThickness="0" ItemsSource="{Binding}"  ItemContainerStyle="{StaticResource FlattenedTreeViewItem}"></TreeView>

请注意,样式FileComponentItem应用于类型实体的模板:文件夹

如果可以,则接受样式仅应用于此节点(文件夹节点)的子节点。 这意味着,只有文件夹的子节点才会获得样式(文件夹下展开的任何项目,而文件夹本身保持未设置样式)

我希望能够控制应用模板的项目的样式,而不是子项


解释和相应的示例应该考虑您的问题。

因为您将样式应用于
项目容器,并且顾名思义,它将应用于它所包含的项目,在本例中,这些项目将是文件夹的子节点。

因此,您需要将此
样式应用于您的列表框
或应用此层次结构数据模板的任何控件。

可能做错了,但当我覆盖列表框模板时,我会丢失层次结构元素。实际上,我正在将其与树视图一起使用。。(更新)。我是否仍要为列表框设置模板?