EventTrigger привязать к событию из DataContext
Я пытаюсь сделать что-то вроде этого:
<DataTemplate.Triggers>
<EventTrigger RoutedEvent="{Binding MyEvent}">
<BeginStoryboard Storyboard="{StaticResource MyAnimation}" />
</EventTrigger>
</DataTemplate.Triggers>
MyEvent - это событие из моего DataContext.
Это не работает, потому что RoutedEvent не может быть выражением Binding. Есть идеи, как этого добиться? На самом деле, мне нужно сочетание EventTrigger и DataTrigger...
Решение с Blend SDK:
<Interactivity:Interaction.Triggers>
<Interactivity:EventTrigger SourceObject="{Binding}" EventName="MyEvent">
<ei:ControlStoryboardAction ControlStoryboardOption="Play">
<ei:ControlStoryboardAction.Storyboard>
<Storyboard>
....
</Storyboard>
</ei:ControlStoryboardAction.Storyboard>
</ei:ControlStoryboardAction>
</Interactivity:EventTrigger>
</Interactivity:Interaction.Triggers>
1 ответ
Решение
Использование EventTriggers из Interactivity
( Blend SDK) может инициировать любое событие на любом объекте, нативные работают только для RoutedEvents
который у вас обычно есть только на элементах управления.