Silverlight.Порядок вызова триггеров - PullRequest
0 голосов
/ 12 января 2012

Существует 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>
...


ОБНОВЛЕНИЕ: Обнаружена связанная проблема В WPF имеет значение порядок триггеров? , который говорит:

WPF обрабатывает триггеры в объявленном порядке.

Надеюсь, Silverlight ведет себяточно так же.

1 Ответ

2 голосов
/ 12 января 2012

Даже если порядок определен, я бы этого не сделал. Добавьте нужный порядок в обработчик команды.

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

Этот вид кода в долгосрочной перспективе вызовет боль, потому что порядок нелегко навязать, и вы создаете зависимость между двумя методами.

...