0

如何扩展我在 CustomTreeView 中声明的样式?所以我有一个浅灰色的前景和一个绿色的背景?

CustomTreeView.xaml

<TreeView x:Class="WpfApplication17.CustomTreeView"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    <TreeView.ItemContainerStyle>
        <Style TargetType="{x:Type TreeViewItem}">
            <Setter Property="Foreground" Value="LightGray"/>
        </Style>
    </TreeView.ItemContainerStyle>
</TreeView>

窗口.xaml

<Window x:Class="WpfApplication17.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:local="clr-namespace:WpfApplication17">
    <local:CustomTreeView ItemsSource="{Binding Data}">
        <local:CustomTreeView.ItemContainerStyle>
            <Style TargetType="{x:Type TreeViewItem}" BasedOn="{StaticResource {x:Type TreeViewItem}}">
                <Setter Property="Background" Value="Green"/>
            </Style>
        </local:CustomTreeView.ItemContainerStyle>
    </local:CustomTreeView>
</Window>
4

1 回答 1

0

不确定这是否是正确的方法,但我最终使用了它。

<TreeView x:Class="WpfApplication17.CustomTreeView"
                 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
        <TreeView.Resources>
            <Style x:Key="m_itemContainerStyle" TargetType="{x:Type TreeViewItem}">
                <Setter Property="Foreground" Value="LightGray"/>
            </Style>
        </TreeView.Resources>

        <TreeView.ItemContainerStyle>
            <Style BasedOn="{StaticResource m_itemContainerStyle}" TargetType="{x:Type TreeViewItem}">

            </Style>
        </TreeView.ItemContainerStyle>
    </TreeView>


    <Window x:Class="WpfApplication17.MainWindow"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            xmlns:local="clr-namespace:WpfApplication17">
        <local:CustomTreeView ItemsSource="{Binding Data}">
            <local:CustomTreeView.ItemContainerStyle>
                <Style BasedOn="{StaticResource m_itemContainerStyle}"  TargetType="{x:Type TreeViewItem}">
                    <Setter Property="Background" Value="Green"/>
                </Style>
            </local:CustomTreeView.ItemContainerStyle>
        </local:CustomTreeView>
    </Window>
于 2013-02-25T22:56:43.353 回答