什么是互动触发器?

时间:2010-08-24 16:14:57

标签: silverlight

我正在阅读Shawn Wildermuth关于使用MVVM光构建Silverlight应用程序的文章: - 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 个答案:

答案 0 :(得分:5)

在命令绑定上使用触发器的主要原因是您希望触发器触发Click以外的事件。如果你需要一个命令来触发鼠标而不是点击按钮,你需要使用带有EventName设置的触发器来处理鼠标悬停。

在控件本身上实现的命令非常有限。它们很好地涵盖了基本情况,但它们不是很灵活。触发器为您提供了更多的灵活性。