ここに単純な DataTemplate があります
<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 がエンティティのテンプレートに適用されていることに注意してください:Folder
スタイルがこのノード (フォルダ ノード) の子にのみ適用されることを受け入れます。つまり、Folder の子ノードのみがスタイルを取得します (Folder の下で展開されている項目は何でも、Folder 自体はスタイルされません)。
子ではなく、テンプレートが適用されるアイテムのスタイルを制御できるようにしたい