Что такое триггеры взаимодействия? - PullRequest
3 голосов
/ 24 августа 2010

Я читаю статью Шона Вильдермута об архитектуре приложений Silverlight с использованием MVVM light: - http://wildermuth.com/2010/01/02/Architecting_SL4_Apps_with_RIA_Services_MEF_and_MVVM_-_Part_4_%28of_3%29

Мне просто интересно, в чем разница: -

<Button
Content="Previous Page" >
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<i:InvokeCommandAction CommandName="PreviousPage"/>
<ei:CallMethodAction TargetObject="{Binding ElementName=grid}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</Button> 

И

<Button Command="{Binding PreviousPage}"
Grid.Row="0"
Content="Previous Page" />

Когда бы вы специально использовали триггеры?

Заранее спасибо:)

1 Ответ

5 голосов
/ 24 августа 2010

Основная причина использования триггера над привязкой команды - если вы хотите, чтобы триггер срабатывал при событии, отличном от Click. Если вам нужна команда для запуска мыши, а не нажатия кнопки, вам нужно использовать триггер с параметром EventName для обработки наведения мыши.

Команды, реализованные на самих элементах управления, очень ограничены. Они хорошо охватывают основные случаи, но они не очень гибки. Триггеры дают вам немного больше гибкости.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...