ExecutedRoutedEventHandler Delegált

Definíció

Azokat a metódusokat jelöli, amelyek kezelik az és Executed az PreviewExecuted irányított eseményeket, valamint a kapcsolódó kapcsolódó eseményeket.

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éterek

sender
Object

Az az objektum, amelyhez az eseménykezelő csatlakoztatva van.

e
ExecutedRoutedEventArgs

Az esemény adatai.

Példák

Ez a példa létrehoz egy ExecutedRoutedEventHandler vizualizációs tulajdonságot a célon a parancs végrehajtásakor. A példa ugyanahhoz a CanExecuteRoutedEventHandler parancshoz is tartozik.

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

Megjegyzések

Ez a delegált tartalmazza a megvalósítási logikát egy RoutedCommand. A végrehajtási logika parancstól való elválasztásával a parancs különböző forrásokból és típusokból hívható meg, és lehetővé teszi a parancslogika központosítását.

Ez a delegált a parancsinfrastruktúra nagy részét megvalósító osztály csatolt eseményeihez CommandManager.Executed is használható.CommandManager.PreviewExecutedCommandManager A gyakorlati kezelők többsége azonban ahelyettExecuted, hogy egy adott szinten dolgozikCommandBinding, egy adott CommandManagereseményt kezel.

Ezen belül ExecutedRoutedEventArgsa következő tulajdonságok általánosan érdekesek, amikor eseménykezelőt ír egy irányított eseményhez, amely egy végrehajtott parancsból származik:

  • Source a parancs végrehajtásának célhelye. A parancs végrehajtása után az Source irányított esemény fogalmaiban az irányított eseményt generáló objektumra is gondolhat.

  • Command jelenti a végrehajtott parancsot. Ez a tulajdonság akkor hasznos, ha parancskötéseket használ, és olyan kezelőket ír, amelyek több parancsot is kezelnek.

  • Parameter a végrehajtó parancs által átadott parancsspecifikus paramétereket jelenti. Nem minden parancs használ vagy vár parancsspecifikus paramétereket.

  • Handled azt jelzi, hogy a végrehajtott parancsból eredő irányított eseményt már egy másik elem kezelte-e az útvonal mentén. Az irányított eseménykezelők esetében ajánlott olyan kezelőkkel rendelkezni, amelyek értelmes munkát végeznek az esemény kezelésekor Handledtrue. Ez megakadályozza, hogy az esemény tipikus kezelői ismét az útvonal mentén kezeljék az eseményt. Az irányított események kezelésével kapcsolatos további információkért lásd: Az irányított események megjelölése kezeltként és osztálykezelés.

Ez a meghatalmazott a parancsinfrastruktúra CommandManager.ExecutedCommandManager.PreviewExecutedEventnagy részét megvalósító osztály kapcsolódó eseményeinek CommandManager kezelőit is jelöli. A gyakorlati kezelők többsége azonban ahelyettExecuted, hogy egy adott szinten dolgozikCommandBinding, egy adott CommandManagereseményt kezel.

További információ a parancsolásról: Parancsok áttekintése.

Bővítő metódusok

Name Description
GetMethodInfo(Delegate)

Lekéri a megadott meghatalmazott által képviselt metódust képviselő objektumot.

A következőre érvényes:

Lásd még