Partage via


ExecutedRoutedEventHandler Délégué

Définition

Représente la méthode qui gère les événements routés Executed et PreviewExecuted, ainsi que les événements attachés associés.

public delegate void ExecutedRoutedEventHandler(System::Object ^ sender, ExecutedRoutedEventArgs ^ e);
public delegate void ExecutedRoutedEventHandler(object sender, ExecutedRoutedEventArgs e);
type ExecutedRoutedEventHandler = delegate of obj * ExecutedRoutedEventArgs -> unit
Public Delegate Sub ExecutedRoutedEventHandler(sender As Object, e As ExecutedRoutedEventArgs)

Paramètres

sender
Object

Objet où le gestionnaire d’événements est attaché.

e
ExecutedRoutedEventArgs

Données d'événement.

Exemples

Cet exemple crée un ExecutedRoutedEventHandler qui définit une propriété visuelle sur la cible lors de l’exécution de la commande. L’exemple inclut également pour CanExecuteRoutedEventHandler la même commande.

// ExecutedRoutedEventHandler for the custom color command.
private void ColorCmdExecuted(object sender, ExecutedRoutedEventArgs e)
{
    Panel target = e.Source as Panel;
    if (target != null)
    {
        if (target.Background == Brushes.AliceBlue)
        {
            target.Background = Brushes.LemonChiffon;
        }
        else
        {
            target.Background = Brushes.AliceBlue;
        }
    }
}

// CanExecuteRoutedEventHandler for the custom color command.
private void ColorCmdCanExecute(object sender, CanExecuteRoutedEventArgs e)
{
    if (e.Source is Panel)
    {
        e.CanExecute = true;
    }
    else
    {
        e.CanExecute = false;
    }
}
' ExecutedRoutedEventHandler for the custom color command.
Private Sub ColorCmdExecuted(ByVal sender As Object, ByVal e As ExecutedRoutedEventArgs)
    Dim target As Panel = TryCast(e.Source, Panel)
    If target IsNot Nothing Then
        If target.Background Is Brushes.AliceBlue Then
            target.Background = Brushes.LemonChiffon
        Else
            target.Background = Brushes.AliceBlue
        End If

    End If
End Sub

' CanExecuteRoutedEventHandler for the custom color command.
Private Sub ColorCmdCanExecute(ByVal sender As Object, ByVal e As CanExecuteRoutedEventArgs)
    If TypeOf e.Source Is Panel Then
        e.CanExecute = True
    Else
        e.CanExecute = False
    End If
End Sub

Remarques

Ce délégué contient la logique d’implémentation d’un RoutedCommand. La séparation de la logique d’implémentation de la commande permet d’appeler la commande à partir de différentes sources et types, et permet la centralisation de la logique de commande.

Ce délégué est également utilisé pour CommandManager.Executed et CommandManager.PreviewExecuted, qui sont des événements attachés sur la CommandManager classe qui implémente une grande partie de l’infrastructure de commande. Mais la plupart des gestionnaires pratiques gèrent les Executed événements d’un CommandBindingparticulier plutôt que de travailler au CommandManager niveau.

Dans ExecutedRoutedEventArgs, les propriétés suivantes sont généralement intéressantes lorsque vous écrivez un gestionnaire d’événements pour un événement routé qui résulte d’une commande exécutée :

  • Source indique la cible dans laquelle la commande a été exécutée. Une fois la commande exécutée, vous pouvez également considérer le Source plus généralement en termes d’événement routé, comme l’objet qui a déclenché un événement routé.

  • Command signale la commande qui s’est exécutée. Cette propriété est utile si vous utilisez des liaisons de commandes et si vous écrivez des gestionnaires qui gèrent potentiellement plusieurs commandes.

  • Parameter signale tous les paramètres spécifiques à la commande qui ont été passés par la commande en cours d’exécution. Toutes les commandes n’utilisent pas ou ne s’attendent pas à des paramètres spécifiques aux commandes.

  • Handled indique si l’événement routé résultant de la commande exécutée a déjà été géré par un autre élément le long de l’itinéraire. Pour les gestionnaires d’événements routés, il est recommandé d’avoir des gestionnaires qui effectuent un travail significatif lors de la gestion de l’événement à définir Handled sur true. Cela empêche les gestionnaires classiques de l’événement de gérer à nouveau l’événement plus loin le long de l’itinéraire. Pour plus d’informations sur la gestion des événements routés, consultez Marquage des événements routés en tant que handled et Gestion des classes.

Ce délégué représente également les gestionnaires pour CommandManager.Executed et CommandManager.PreviewExecutedEvent, qui sont des événements attachés sur la CommandManager classe qui implémente une grande partie de l’infrastructure de commande. Mais la plupart des gestionnaires pratiques gèrent les Executed événements d’un CommandBindingparticulier plutôt que de travailler au CommandManager niveau.

Pour plus d’informations sur l’exécution des commandes, consultez Vue d’ensemble des commandes.

Méthodes d’extension

GetMethodInfo(Delegate)

Obtient un objet qui représente la méthode représentée par le délégué spécifié.

S’applique à

Voir aussi