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.Represents the method that will handle the Executed and PreviewExecuted routed events, as well as related attached events.

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é.The object where the event handler is attached.

e
ExecutedRoutedEventArgs

Données d'événement.The event data.

Héritage
ExecutedRoutedEventHandler

Exemples

Cet exemple crée un ExecutedRoutedEventHandler qui définit une propriété visuelle sur la cible lorsque la commande est exécutée.This example creates an ExecutedRoutedEventHandler that sets a visual property on the target when the command is executed. L’exemple comprend également le CanExecuteRoutedEventHandler pour la même commande.The example also includes the CanExecuteRoutedEventHandler for the same command.

// 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' RoutedCommandun.This delegate contains the implementation logic for a 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.Separating the implementation logic from the command allows the command to be invoked from different sources and types, and enables the centralization of command logic.

Ce délégué est également utilisé pour CommandManager.Executed et CommandManager.PreviewExecuted, qui sont des événements attachés CommandManager à la classe qui implémente la majeure partie de l’infrastructure de commande.This delegate is also used for CommandManager.Executed and CommandManager.PreviewExecuted, which are attached events on the CommandManager class that implements much of the commanding infrastructure. Toutefois, les gestionnaires les plus pratiques géreront les Executed événements d’un particulier CommandBinding, CommandManager plutôt que de travailler au niveau.But most practical handlers will handle the Executed events from a particular CommandBinding, rather than work at the CommandManager level.

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:Within ExecutedRoutedEventArgs, the following properties are generally of interest when you write an event handler for a routed event that results from an executed command:

  • Sourcesignale la cible dans laquelle la commande a été exécutée.Source reports the target where the command was executed. 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é.Once the command is executed, you can also think of the Source more generally in routed event terms, as the object that raised a routed event.

  • Commandsignale la commande qui s’est exécutée.Command reports the command that executed. Cette propriété est utile si vous utilisez des liaisons de commande et si vous écrivez des gestionnaires qui peuvent gérer plusieurs commandes.This property is useful if you use command bindings and if you write handlers that potentially handle multiple commands.

  • Parametersignale tous les paramètres spécifiques à la commande qui ont été passés par la commande en cours d’exécution.Parameter reports any command-specific parameters that were passed by the executing command. Toutes les commandes n’utilisent pas ou n’attendent pas de paramètres spécifiques à la commande.Not all commands use or expect command-specific parameters.

  • Handledsignale 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.Handled reports whether the routed event that resulted from the executed command was already handled by a different element along the route. 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 Handled l' trueévénement pour affecter à la valeur.For routed event handlers, it is a recommended practice to have handlers that do meaningful work when handling the event to set Handled to true. Cela empêche les gestionnaires typiques pour l’événement de gérer à nouveau l’événement le long de l’itinéraire.This prevents typical handlers for the event from handling the event again further along the route. 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.For more information on handling routed events, see Marking Routed Events as Handled, and Class Handling.

Ce délégué représente également des gestionnaires pour CommandManager.Executed et CommandManager.PreviewExecutedEvent, qui sont des événements attachés CommandManager à la classe qui implémente la majeure partie de l’infrastructure de commande.This delegate also represents handlers for CommandManager.Executed and CommandManager.PreviewExecutedEvent, which are attached events on the CommandManager class that implements much of the commanding infrastructure. Toutefois, les gestionnaires les plus pratiques géreront les Executed événements d’un particulier CommandBinding, CommandManager plutôt que de travailler au niveau.But most practical handlers will handle the Executed events from a particular CommandBinding, rather than work at the CommandManager level.

Pour plus d’informations sur l’exécution des commandes, consultez Vue d’ensemble des commandes.For more information on commanding, see Commanding Overview.

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é.Gets an object that represents the method represented by the specified delegate.

S’applique à

Voir aussi