Изменение цвета фона ListBoxItem

У меня есть ListBox, и есть несколько пунктов. Как я могу изменить фон ListBoxItem, когда мышь наводит его? Я пытался с этим кодом, но он возвращает ошибку:

<Window.Resources>
        <Style TargetType="ListBoxItem">
            <Setter Property="Opacity" Value="0.6" />
            <Style.Triggers>
                <Trigger Property="IsSelected" Value="True">
                    <Trigger.Setters>
                        <Setter Property="Opacity" Value="1.0" />
                    </Trigger.Setters>
                </Trigger>
                <EventTrigger RoutedEvent="Mouse.MouseEnter">
                    <EventTrigger.Actions>
                        <BeginStoryboard>
                            <Storyboard>
                                <DoubleAnimation Duration="0:0:0.3" Storyboard.TargetProperty="Background" To="Orange" />
                            </Storyboard>
                        </BeginStoryboard>
                    </EventTrigger.Actions>
                </EventTrigger>
                <EventTrigger RoutedEvent="Mouse.MouseLeave">
                    <EventTrigger.Actions>
                        <BeginStoryboard>
                            <Storyboard>
                                <DoubleAnimation Duration="0:0:0.3" Storyboard.TargetProperty="Background" To="White" />
                            </Storyboard>
                        </BeginStoryboard>
                    </EventTrigger.Actions>
                </EventTrigger>
            </Style.Triggers>
        </Style>

    </Window.Resources>

1 ответ

Решение

Использовать ColorAnimation вместо DoubleAnimation:

<ColorAnimation Duration="0:0:0.3" 
                Storyboard.TargetProperty="Background.(SolidColorBrush.Color)" 
                To="Orange" />
Другие вопросы по тегам