ExecutedRoutedEventHandler Délégué

Définition

Représente la méthode qui gère les Executed événements routés et PreviewExecuted routés, 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 dans lequel le gestionnaire d’événements est attaché.

e
ExecutedRoutedEventArgs

Données d'événement.

Exemples

Cet exemple crée une ExecutedRoutedEventHandler propriété visuelle sur la cible lorsque la commande est exécutée. L’exemple inclut également la CanExecuteRoutedEventHandler 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 attachés à des événements 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 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 où la commande a été exécutée. Une fois la commande exécutée, vous pouvez également considérer les Source termes d’événement routés plus généralement, comme l’objet qui a déclenché un événement routé.

  • Command signale la commande 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 attendent des paramètres spécifiques à la commande.

  • 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 Handledtruesur . 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 des gestionnaires pour CommandManager.Executed et CommandManager.PreviewExecutedEvent, qui sont attachés à des événements sur la CommandManager classe qui implémentent une grande partie de l’infrastructure de commande. Mais la plupart des gestionnaires pratiques gèrent les Executed événements d’un particulier CommandBinding, plutôt que de travailler au CommandManager niveau.

Pour plus d’informations sur la commande, consultez Vue d’ensemble des commandes.

Méthodes d’extension

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