Я хочу навести эффект при наведении мыши и на прозрачный при наведении мыши. Но отключить эту анимацию, когда UserControl IsSelected (свойство viewmodel).
У меня есть некоторый рабочий код, но это не то, что я хочу. И у меня есть некоторые проблемы. Когда анимация мыши запускается и запускается, пользовательский контроль устанавливает белый фон и быструю анимацию в цвете, что мне нужно. И эта анимация воспроизводится, когда IsSelected true тоже Мне это не нужно.
<UserControl.Resources>
<Style x:Key="ContentStyle" TargetType="{x:Type ContentControl}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ContentControl}">
<!-- Content -->
<Border x:Name="background" Background="#2b2d33">
<!-- Click to open message -->
<Border.InputBindings>
<MouseBinding MouseAction="LeftClick" Command="{Binding GoToChat}" />
</Border.InputBindings>
<Grid x:Name="container" Background="Transparent">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Border Grid.Column="0"
Padding="8 15"
>
<Border Height="40" Width="40" CornerRadius="50,50,50,50">
<Border.Background>
<ImageBrush ImageSource="{Binding Photo}"/>
</Border.Background>
</Border>
</Border>
<!-- Main content -->
<Border Grid.Column="1" Padding="0 0 15 0">
<StackPanel VerticalAlignment="Center">
<!-- Name-->
<TextBlock Text="{Binding Name}"
Padding="0 0 0 2"
Foreground="{StaticResource WordBlueBrush}"
TextTrimming="CharacterEllipsis"
FontFamily="{StaticResource Amsterdam}"
/>
<!-- Message -->
<TextBlock Text="{Binding Message}"
Padding="0 2 0 0"
Foreground="{StaticResource ForegroundDarkBrush}"
TextTrimming="CharacterEllipsis"
FontFamily="{StaticResource Amsterdam}"
/>
</StackPanel>
</Border>
</Grid>
</Border>
<!-- Hover effect -->
<ControlTemplate.Triggers>
<DataTrigger Binding="{Binding IsSelected}" Value="True">
<Setter Property="Background" TargetName="background" Value="#40444c"/>
</DataTrigger>
<EventTrigger RoutedEvent="MouseEnter">
<BeginStoryboard>
<Storyboard>
<ColorAnimation To="#33363d" Duration="0:0:0.3" Storyboard.TargetName="container" Storyboard.TargetProperty="Background.Color" />
</Storyboard>
</BeginStoryboard>
</EventTrigger>
<EventTrigger RoutedEvent="MouseLeave">
<BeginStoryboard>
<Storyboard>
<ColorAnimation To="Transparent" Duration="0:0:0.3" Storyboard.TargetName="container" Storyboard.TargetProperty="Background.Color" />
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</UserControl.Resources>
<ContentControl Style="{StaticResource ContentStyle}" />
</UserControl>