c# – 将样式应用于所有TreeViewItem

前端之家收集整理的这篇文章主要介绍了c# – 将样式应用于所有TreeViewItem前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
您好我遇到的问题是我有多个TreeView控件,每个TreeView都有自己的TreeViewItem样式,
设置它

TreeView ItemContainerStyle=”{StaticResource Style1}”

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

解决方法

有几种方法可以实现此目的:

您可以将样式设置为所有TreeViewItem的默认样式:

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

猜你在找的C#相关文章