交互触发器是什么?

3
我正在阅读Shawn Wildermuth的文章,该文章介绍了使用MVVM light架构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个回答

5
使用触发器而不是命令绑定的主要原因是,如果您希望触发器在除“单击”以外的事件上触发。如果您需要在鼠标悬停而不是在按钮单击上触发命令,则需要使用设置为处理鼠标悬停的“EventName”的触发器。
在控件本身上实现的命令非常有限。它们很好地涵盖了基本情况,但它们的灵活性不太高。触发器给您略微更多的灵活性。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接