ExecutedRoutedEventHandler Delegat
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Reprezentuje metodę, która będzie obsługiwać ExecutedPreviewExecuted zdarzenia i kierowane, a także powiązane dołączone zdarzenia.
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)
Parametry
- sender
- Object
Obiekt, w którym jest dołączony program obsługi zdarzeń.
Dane dotyczące zdarzenia.
Przykłady
W tym przykładzie tworzony jest obiekt ExecutedRoutedEventHandler , który ustawia właściwość wizualizacji na obiekcie docelowym po wykonaniu polecenia. Przykład zawiera również element CanExecuteRoutedEventHandler dla tego samego polecenia.
// 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
Uwagi
Ten delegat zawiera logikę implementacji dla elementu RoutedCommand. Oddzielenie logiki implementacji od polecenia umożliwia wywoływanie polecenia z różnych źródeł i typów oraz umożliwia centralizację logiki poleceń.
Ten delegat jest również używany dla CommandManager.Executed elementów i CommandManager.PreviewExecuted, które są dołączone zdarzenia w CommandManager klasie, która implementuje większość infrastruktury poleceń. Jednak większość praktycznych procedur obsługi będzie obsługiwać Executed zdarzenia z określonego CommandBindingelementu , a nie pracować na CommandManager poziomie.
W programie ExecutedRoutedEventArgsnastępujące właściwości są zwykle interesujące podczas pisania procedury obsługi zdarzeń dla zdarzenia kierowanego, które wynika z wykonanego polecenia:
Source raportuje miejsce docelowe, w którym wykonano polecenie. Po wykonaniu polecenia można również myśleć o Source bardziej ogólnie kierowanych terminach zdarzeń, ponieważ obiekt, który wywołał zdarzenie kierowane.
Command polecenie, które zostało wykonane. Ta właściwość jest przydatna, jeśli używasz powiązań poleceń i jeśli piszesz programy obsługi, które potencjalnie obsługują wiele poleceń.
Parameter raportuje wszystkie parametry specyficzne dla polecenia, które zostały przekazane przez wykonanie polecenia. Nie wszystkie polecenia używają lub oczekują parametrów specyficznych dla polecenia.
Handled raportuje, czy zdarzenie kierowane, które wynikało z wykonanego polecenia, zostało już obsłużone przez inny element wzdłuż trasy. W przypadku procedur obsługi zdarzeń kierowanych zaleca się stosowanie procedur obsługi, które wykonują znaczącą pracę podczas obsługi zdarzenia w celu ustawienia wartości Handled
true
. Zapobiega to ponownemu obsługiwaniu zdarzenia przez typowe programy obsługi zdarzenia wzdłuż trasy. Aby uzyskać więcej informacji na temat obsługi zdarzeń trasowanych, zobacz Oznaczanie zdarzeń trasowanych jako obsługiwane i Obsługa klas.
Ten delegat reprezentuje również programy obsługi dla CommandManager.Executed elementów i CommandManager.PreviewExecutedEvent, które są dołączone zdarzenia w CommandManager klasie, która implementuje większość infrastruktury poleceń. Jednak większość praktycznych procedur obsługi będzie obsługiwać Executed zdarzenia z określonego CommandBindingelementu , a nie pracować na CommandManager poziomie.
Aby uzyskać więcej informacji na temat poleceń, zobacz Omówienie poleceń.
Metody rozszerzania
GetMethodInfo(Delegate) |
Pobiera obiekt reprezentujący metodę reprezentowaną przez określonego delegata. |