应用样式的所有树型视图(Apply style to all TreeViewItem)

2019-08-03 10:07发布

嗨我遇到的问题是,我有多个TreeView控件和TreeView的每一个都有自己的风格树型视图,设置它

树视图ItemContainerStyle = “{StaticResource的STYLE1}”

将只设置根元素并不是所有的子元素,如何将样式应用到TreeView中的所有子元素

Answer 1:

有几种方法来实现:

你可以让你的风格为所有TreeViewItems默认:

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

不同的是,你不设置x:关键属性,但你设置的TargetType属性。 你并不需要设置ItemContainerStyle在这种情况下,你的TreeView。


您还可以设置你的风格为所有TreeViewItems的默认样式,但只在您的TreeView控件:

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

在这种情况下,你也不需要设置ItemContainerStyle您的TreeView。


你也可以改变你的风格,如下所示

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

在这种情况下,你仍然必须设置ItemContainerStyle您的TreeView。



文章来源: Apply style to all TreeViewItem