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 который у вас обычно есть только на элементах управления.

Другие вопросы по тегам