单击ListBoxItem时禁用颜色更改

时间:2011-02-21 20:54:14

标签: c# .net wpf

我使用以下样式禁用突出显示所选的ListBoxItem:

<Style TargetType="ListBoxItem">
    <Style.Resources>
        <!--SelectedItem with focus-->
        <SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="Transparent"/>
        <!--SelectedItem without focus-->
        <SolidColorBrush x:Key="{x:Static SystemColors.ControlBrushKey}" Color="Transparent"/>
    </Style.Resources>
</Style>

这样可行,但是当我点击ListBoxItem时,Item首先变为白色。我怎么能禁用?

1 个答案:

答案 0 :(得分:1)

尝试将以下内容添加到您的样式中,如果您不想选择我将使用ItemsControl而不是ListBox。

    <Style TargetType="ListBoxItem">
        <Style.Resources>
            <!--SelectedItem with focus-->
            <SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="Transparent"/>
            <!--SelectedItem without focus-->
            <SolidColorBrush x:Key="{x:Static SystemColors.ControlBrushKey}" Color="Transparent"/>
        </Style.Resources>
        <Style.Triggers>
            <Trigger Property="IsSelected" Value="true">
                <Setter Property="Foreground" Value="{StaticResource {x:Static SystemColors.ControlTextBrushKey}}" />
            </Trigger>
        </Style.Triggers>
    </Style>