У меня есть пользовательский контроль, который я хочу использовать в качестве ListBoxItem.
<ListBox.ItemTemplate>
<DataTemplate>
<local:MyUserControl/>
</DataTemplate>
</ListBox.ItemTemplate>
Я бы хотел сыграть раскадровку, когда пользовательский контроль не выбран.
<UserControl.Resources>
<Style TargetType="{x:Type UserControl}">
<Style.Triggers>
<DataTrigger Binding="{Binding IsSelected, RelativeSource={RelativeSource AncestorType={x:Type ListBoxItem}, Mode=FindAncestor}}" Value="False">
<DataTrigger.EnterActions>
<BeginStoryboard Storyboard="{StaticResource OnMouseLeaveSB}"/>
</DataTrigger.EnterActions>
</DataTrigger>
</Style.Triggers>
</Style>
</UserControl.Resources>
Но раскадровка никогда не срабатывает. Есть ли лучший способ сделать это?
Отредактировано для добавления:
Что я действительно пытаюсь сделать это так:
Когда мышь находится над UserControl, я хочу сыграть раскадровку (OnMouseEnterSB). Когда мышь покидает UserControl, я хочу сыграть в другую раскадровку (OnMouseLeaveSB). У меня все это работает нормально.
Однако когда выбран элемент UserControl и мышь уходит, я НЕ хочу играть в раскадровку.
Наконец, когда пользовательский элемент управления не выбран, я хочу сыграть в раскадровку OnMouseLeaveSB.