2010-08-24 8 views
3

Je lis l'article de Shawn Wildermuth sur architecturer applications Silverlight en utilisant la lumière MVVM: - http://wildermuth.com/2010/01/02/Architecting_SL4_Apps_with_RIA_Services_MEF_and_MVVM_-_Part_4_%28of_3%29Quels sont les déclencheurs d'interaction?

Je me demande quelle est la différence entre: -

<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> 

Et

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

Quand souhaitez-vous utiliser spécifiquement les déclencheurs?

Merci à l'avance :)

Répondre

5

La principale raison d'utiliser la gâchette sur la commande de liaison est si vous voulez que le déclencheur au feu sur un événement autre que Click. Si vous avez besoin d'une commande pour tirer sur une souris au lieu de cliquer sur le bouton, vous devez utiliser le déclencheur avec l'ensemble EventName pour gérer les survols.

Les commandes implémentées sur les contrôles eux-mêmes sont très limitées. Ils couvrent bien les cas de base mais ils ne sont pas très flexibles. Les déclencheurs vous donnent un peu plus de flexibilité.

Questions connexes