0

我必须更改 WPF 列表框中的动画,因为我使用自己的。

在此处输入图像描述

浅蓝色是我的选择(我使用事件 select_changed 进行了选择,然后将 TextBlock.Background 更改为浅蓝色)

蓝色选择是默认的,我希望它是透明的,这样选择会更优雅。

有谁知道这是怎么做到的吗?

这是我目前正在做的事情:

        foreach (var item in myListBox.Items)
            (item as TextBlock).Background = Brushes.White;
        if (myListBox.SelectedItem != null)
            (myListBox.SelectedItem as TextBlock).Background= Brushes.LightBlue;
        myListBox.ScrollIntoView(myListBox.SelectedItem);
4

1 回答 1

1

只需将其添加Style到您的ListBox

<Style x:Key="HiddenDefaultSelectionStyle" TargetType="{x:Type ListBoxItem}">
    <Style.Resources>
        <SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="Transparent" />
        <SolidColorBrush x:Key="{x:Static SystemColors.ControlBrushKey}" Color="Transparent" />
        <SolidColorBrush x:Key="{x:Static SystemColors.HighlightTextBrushKey}" Color="Black" />
        <SolidColorBrush x:Key="{x:Static SystemColors.ControlTextBrushKey}" Color="Black" />
    </Style.Resources>
</Style>

您可以用colour Transparent您喜欢的任何颜色替换。我相信这些属性的名称是不言自明的。

于 2013-09-06T12:35:11.067 回答