有一个Silverlight UserControl
获得MouseLeftButtonUp
个事件。在xaml中,我为此事件添加了两个触发器。按顺序Silverlight xaml-parser将解析并附加这些触发器,我可以确定上面的触发器将首先调用吗?
...
<i:Interaction.Triggers>
<i:EventTrigger EventName="MouseLeftButtonUp">
<i:InvokeCommandAction Command="{StaticResource someCommand}"/>
<AttachedBehaviors:SomeBehavior Parameter="Apple"/>
</i:EventTrigger>
</i:Interaction.Triggers>
...
<小时/> 更新:发现连接问题In WPF, does the order of Triggers matter?,其中包含:
WPF正在按声明的顺序处理触发器。
希望,Silverlight的行为完全一样。
答案 0 :(得分:2)
即使定义了订单,我也不会这样做。将所需的顺序添加到命令的处理程序中。
void someCommand_Executed()
{
DoFirstThing();
DoSecondThing();
}
从长远来看,这种代码会造成痛苦,因为订单不易执行,而且您正在两种方法之间创建依赖关系。