嗨我遇到的问题是我有多个TreeView控件,每个TreeView都有自己的TreeViewItem样式, 设置它
TreeView ItemContainerStyle =“{StaticResource Style1}”
只会设置根元素而不是所有子元素,如何将样式应用于TreeView中的所有子元素
答案 0 :(得分:18)
有几种方法可以实现这一目标:
您可以将样式设置为所有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。