6

こんにちは問題は、複数の TreeView コントロールがあり、各 TreeView に独自の TreeViewItem スタイルが設定されていることです。

TreeView ItemContainerStyle="{StaticResource Style1}"

すべての子要素ではなくルート要素のみを設定します。TreeView のすべての子要素にスタイルを適用する方法

4

1 に答える 1

19

これを実現するには、いくつかの方法があります。

あなたのスタイルをすべてのTreeViewItemsのデフォルトにすることができます:

<Style TargetType="{x:Type TreeViewItem}">
...
</Style>

違いは、x:Key属性を設定せず、TargetType属性を設定することです。この場合、TreeViewでItemContainerStyleを設定する必要はありません。


すべてのTreeViewItemのデフォルトスタイルとしてスタイルを設定することもできますが、これはTreeView内でのみ可能です。

<TreeView>
    <TreeView.Resources>
        <Style TargetType="{x:Type TreeViewItem}" BasedOn="{StaticResource Style1}"/>
    </TreeView.Resources>
</TreeView>

この場合、TreeViewでItemContainerStyleを設定する必要もありません。


次のようにスタイルを変更することもできます

<Style x:Key="Style1" TargetType="{x:Type TreeViewItem}">
    <Setter Property="ItemContainerStyle" Value="{StaticResource Style1}"/>
</Style>

この場合でも、TreeViewでItemContainerStyleを設定する必要があります。

于 2009-09-02T09:18:37.303 に答える