ExecutedRoutedEventHandler Delegato
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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.
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 Handled
true
. 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. |