嗨问题是我有多个 TreeView 控件,每个 TreeView 都有自己的 TreeViewItem 样式,设置它
TreeView ItemContainerStyle="{StaticResource Style1}"
只会设置根元素而不是所有子元素,如何将样式应用于 TreeView 中的所有子元素
嗨问题是我有多个 TreeView 控件,每个 TreeView 都有自己的 TreeViewItem 样式,设置它
TreeView ItemContainerStyle="{StaticResource Style1}"
只会设置根元素而不是所有子元素,如何将样式应用于 TreeView 中的所有子元素
有几种方法可以做到这一点:
您可以将您的样式设置为所有 TreeViewItems 的默认样式:
<Style TargetType="{x:Type TreeViewItem}">
...
</Style>
不同之处在于您没有设置 x:Key 属性,而是设置了 TargetType 属性。在这种情况下,您不需要在 TreeView 上设置 ItemContainerStyle。
<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。