我在 DataTemplate 中有一个自定义行为,它引发了一个自定义路由事件。我想用 TriggerAction 处理该事件(发送消息、调用命令等)。
<Border Background="#01FFFFFF" VerticalAlignment="Center">
<i:Interaction.Behaviors>
<Behaviors:MyBehavior>
<i:Interaction.Triggers>
<i:EventTrigger EventName="MyEvent">
<triggers:SendMessageAction Parameter="ActionTaskAssign" MessageToken="ActionTask" />
</i:CustomEventTrigger>
</i:Interaction.Triggers>
</Behaviors:DropBehavior>
</i:Interaction.Behaviors>
<!-- .... -->
但我可以清楚地看出,EventTrigger 没有订阅行为的 MyEvent。
- 我尝试通过绑定设置 SourceObject(参见此处),但 ElementName 绑定似乎不起作用,FindAncestor 也不起作用
- 我尝试从 EventTrigger 继承并在代码中设置 SourceObject,我得到的只是一个 StackOverflowException
- 我试过写一个自定义的EventTrigger,但是我要么为每个自定义事件写一个(如果一切都崩溃了,我会的),或者我必须找出一种通用的方法来处理非泛型
RoutedEventHandler
的事件......
我该怎么办?