Condividi tramite


ExecutedRoutedEventHandler Delegato

Definizione

Rappresenta il metodo che gestirà gli eventi indirizzati Executed e PreviewExecuted, nonché gli eventi associati correlati.

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)

Parametri

sender
Object

Oggetto a cui è associato il gestore eventi.

e
ExecutedRoutedEventArgs

Dati dell'evento.

Esempio

In questo esempio viene creato un oggetto ExecutedRoutedEventHandler che imposta una proprietà visiva sulla destinazione quando viene eseguito il comando. L'esempio include anche per CanExecuteRoutedEventHandler lo stesso comando.

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

Commenti

Questo delegato contiene la logica di implementazione per un oggetto RoutedCommand. La separazione della logica di implementazione dal comando consente di richiamare il comando da origini e tipi diversi e di abilitare la centralizzazione della logica dei comandi.

Questo delegato viene usato anche per CommandManager.Executed e CommandManager.PreviewExecuted, che sono eventi associati nella CommandManager classe che implementa gran parte dell'infrastruttura di comando. Ma i gestori più pratici gestiranno gli Executed eventi da un particolare CommandBinding, anziché lavorare a CommandManager livello.

All'interno ExecutedRoutedEventArgsdi , le proprietà seguenti sono in genere di interesse quando si scrive un gestore eventi per un evento indirizzato risultante da un comando eseguito:

  • Source segnala la destinazione in cui è stato eseguito il comando. Una volta eseguito il comando, è anche possibile considerare più in generale i Source termini dell'evento indirizzato, come l'oggetto che ha generato un evento indirizzato.

  • Command segnala il comando eseguito. Questa proprietà è utile se si usano associazioni di comandi e se si scrivono gestori che gestiscono potenzialmente più comandi.

  • Parameter segnala eventuali parametri specifici del comando passati dal comando in esecuzione. Non tutti i comandi usano o prevedono parametri specifici del comando.

  • Handled indica se l'evento indirizzato risultante dal comando eseguito è già stato gestito da un elemento diverso lungo la route. Per i gestori eventi indirizzati, è consigliabile disporre di gestori che eseguono operazioni significative durante la gestione dell'evento da impostare su Handledtrue. Ciò impedisce ai gestori tipici per l'evento di gestire di nuovo l'evento lungo la route. Per altre informazioni sulla gestione degli eventi indirizzati, vedere Contrassegnare gli eventi indirizzati come gestiti e la gestione delle classi.

Questo delegato rappresenta anche i gestori per CommandManager.Executed e CommandManager.PreviewExecutedEvent, che sono eventi associati nella CommandManager classe che implementa gran parte dell'infrastruttura di comando. Ma i gestori più pratici gestiranno gli Executed eventi da un particolare CommandBinding, anziché lavorare a CommandManager livello.

Per altre informazioni sui comandi, vedere Cenni preliminari sull'esecuzione di comandi.

Metodi di estensione

GetMethodInfo(Delegate)

Ottiene un oggetto che rappresenta il metodo rappresentato dal delegato specificato.

Si applica a

Vedi anche