Silverlight的。触发器调用的顺序

时间:2012-01-12 10:24:11

标签: silverlight events xaml eventtrigger

有一个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的行为完全一样。

1 个答案:

答案 0 :(得分:2)

即使定义了订单,我也不会这样做。将所需的顺序添加到命令的处理程序中。

void someCommand_Executed()
{
    DoFirstThing();
    DoSecondThing();
}

从长远来看,这种代码会造成痛苦,因为订单不易执行,而且您正在两种方法之间创建依赖关系。