У меня есть usercontrol, который я хочу использовать как ListBoxItem.UserControl as ListBoxItem и IsSelected
<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>
Но раскадровка никогда не стреляет. Есть лучший способ сделать это?
Edited добавить:
То, что я действительно пытается сделать это так:
Когда мышь находится над UserControl, я хочу играть раскадровку (OnMouseEnterSB). Когда мышь покидает UserControl, я хочу играть в другую раскадровку (OnMouseLeaveSB). У меня все работает нормально.
Когда выбран UserControl, и мышь уходит, я НЕ хочу играть в раскадровку.
Наконец, когда UserControl не выбран, я хочу воспроизвести раскадровку OnMouseLeaveSB.
Как вы получили свойство 'IsSelected' в вашем' UserControl', можете ли вы мне помочь http://stackoverflow.com/questions/20530010/how-to-add-isselected-property-to-a-usercontrol?noredirect = 1 # comment30696294_20530010 –