【问题标题】:Apply style to all TreeViewItem将样式应用于所有 TreeViewItem
【发布时间】:2010-11-24 21:27:38
【问题描述】:

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

TreeView ItemContainerStyle="{StaticResource Style1}"

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

【问题讨论】:

    标签: c# wpf treeview treeviewitem


    【解决方案1】:

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

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

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

    不同之处在于您没有设置 x:Key 属性,而是设置了 TargetType 属性。在这种情况下,您不需要在 TreeView 上设置 ItemContainerStyle。


    您还可以将您的样式设置为所有 TreeViewItems 的默认样式,但只能在您的 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。

    【讨论】:

    • 我认为值得一提的是 DataTemplates。谁知道呢,也许 Chandimal 想改变 TreeViewItem 的内容,而不是容器样式,但没有意识到这一点......只是一个想法:)。
    • 谢谢!,这就是我要找的!关于更改背景/选择颜色等。
    猜你喜欢
    • 1970-01-01
    • 2011-10-14
    • 2017-02-16
    • 2018-03-16
    • 2017-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多