I'm trying to accomplish something like this:
我正在努力完成这样的事情:
<DataTemplate.Triggers>
<EventTrigger RoutedEvent="{Binding MyEvent}">
<BeginStoryboard Storyboard="{StaticResource MyAnimation}" />
</EventTrigger>
</DataTemplate.Triggers>
MyEvent is event from my DataContext.
MyEvent是来自我的DataContext的事件。
This does not work because RoutedEvent can't be Binding expression. Any idea how to accomplish this? In fact, I need some mix of EventTrigger and DataTrigger...
这不起作用,因为RoutedEvent不能是Binding表达式。知道怎么做到这一点?事实上,我需要一些EventTrigger和DataTrigger的混合......
Solution with Blend SDK:
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 个解决方案
#1
4
Using the EventTriggers from Interactivity
(Blend SDK) can trigger on any event on any object, the native ones only work for RoutedEvents
which you normally only have on controls.
使用Interactivity中的EventTriggers(Blend SDK)可以触发任何对象上的任何事件,本机的仅适用于您通常只有控件上的RoutedEvents。
#1
4
Using the EventTriggers from Interactivity
(Blend SDK) can trigger on any event on any object, the native ones only work for RoutedEvents
which you normally only have on controls.
使用Interactivity中的EventTriggers(Blend SDK)可以触发任何对象上的任何事件,本机的仅适用于您通常只有控件上的RoutedEvents。