在wpf列表框中更改选择动画

时间:2013-09-06 12:30:01

标签: c# wpf animation listbox selection

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

enter image description here

浅蓝色是我的选择(我使用事件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);

1 个答案:

答案 0 :(得分: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。我相信这些属性的名称是不言自明的。