什么是互动触发器?

TCM*_*TCM 3 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> 
Run Code Online (Sandbox Code Playgroud)

<Button Command="{Binding PreviousPage}"
Grid.Row="0"
Content="Previous Page" />
Run Code Online (Sandbox Code Playgroud)

你什么时候专门使用触发器?

提前致谢 :)

Ste*_*han 5

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

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