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

标签 c# wpf treeview treeviewitem

您好问题是我有多个 TreeView 控件,每个 TreeView 都有自己的 TreeViewItem 样式, 设置它

TreeView ItemContainerStyle="{StaticResource Style1}"

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

最佳答案

有几种方法可以做到这一点:

您可以将您的样式设置为所有 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。

关于c# - 将样式应用于所有 TreeViewItem,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1366598/

相关文章:

c# - 将外部应用程序移动到屏幕前面

wpf - Visual Studio 2010 - 字典未找到但存在

c# - 检测,ScrollViewer的ScrollBar是否可见

c# - 使用 ImageBrush 启动时程序崩溃

c# - WPF 弹出窗口中的控件有时无法接收输入

asp.net-mvc-4 - 如何获得 child 的 child ? Umbraco CMS

c# - 是否可以在 visual studio 的构建输出中使用 "collapse"内容文件路径?

c# - 在 XAML 中,如何将项目并排放置在网格中

c# - Asp.Net 路由 : How do I ignore multiple wildcard routes?

jquery - asp.net Treeview 节点在节点选择时不保留 Css 类