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 lorsque la commande est exécutée. L’exemple comprend également le CanExecuteRoutedEventHandler pour 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 à la commande d’être appelée à partir de sources et de types différents et active 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 à la CommandManager classe qui implémente la majeure partie de l’infrastructure de commande. Toutefois, les gestionnaires les plus pratiques géreront les Executed événements d’un particulier CommandBinding , 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 signale 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 dans les termes de l’événement routé, en tant qu’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 commande et si vous écrivez des gestionnaires qui peuvent gérer 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 n’attendent pas de paramètres spécifiques à la commande.

  • Handled signale si l’événement routé qui résulte de la commande exécutée était déjà 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 explicite lors de la gestion de l’événement pour affecter à la valeur Handled true . Cela empêche les gestionnaires typiques pour l’événement de gérer à nouveau l’événement 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 comme gérés et gestion de classe.

Ce délégué représente également des gestionnaires pour CommandManager.Executed et CommandManager.PreviewExecutedEvent , qui sont des événements attachés à la CommandManager classe qui implémente la majeure partie de l’infrastructure de commande. Toutefois, les gestionnaires les plus pratiques géreront les Executed événements d’un particulier CommandBinding , 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