Leer en inglés

Compartir a través de


ExecutedRoutedEventHandler Delegado

Definición

Representa el método que va a controlar los eventos enrutados Executed y PreviewExecuted, así como los eventos adjuntos relacionados.

C#
public delegate void ExecutedRoutedEventHandler(object sender, ExecutedRoutedEventArgs e);

Parámetros

sender
Object

Objeto en que está asociado el controlador de eventos.

e
ExecutedRoutedEventArgs

Datos del evento.

Ejemplos

En este ejemplo se crea un ExecutedRoutedEventHandler objeto que establece una propiedad visual en el destino cuando se ejecuta el comando. En el ejemplo también se incluye para CanExecuteRoutedEventHandler el mismo comando.

C#
// 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;
    }
}

Comentarios

Este delegado contiene la lógica de implementación de un .RoutedCommand Separar la lógica de implementación del comando permite invocar el comando desde diferentes orígenes y tipos, y habilita la centralización de la lógica de comandos.

Este delegado también se usa para CommandManager.Executed y CommandManager.PreviewExecuted, que son eventos adjuntos en la CommandManager clase que implementa gran parte de la infraestructura de comandos. Pero la mayoría de los controladores prácticos controlarán los Executed eventos de un determinado CommandBinding, en lugar de trabajar en el CommandManager nivel .

Dentro ExecutedRoutedEventArgsde , las siguientes propiedades suelen ser de interés cuando se escribe un controlador de eventos para un evento enrutado que resulta de un comando ejecutado:

  • Source informa del destino donde se ejecutó el comando. Una vez ejecutado el comando, también puede considerar lo Source más generalmente en términos de evento enrutados, como el objeto que generó un evento enrutado.

  • Command informa del comando que se ejecutó. Esta propiedad es útil si usa enlaces de comandos y si escribe controladores que pueden controlar varios comandos.

  • Parameter notifica los parámetros específicos del comando pasados por el comando en ejecución. No todos los comandos usan o esperan parámetros específicos del comando.

  • Handled informa de si el evento enrutado que resultó del comando ejecutado ya lo controló un elemento diferente a lo largo de la ruta. En el caso de los controladores de eventos enrutados, se recomienda tener controladores que realicen un trabajo significativo al controlar el evento para establecer en Handledtrue. Esto impide que los controladores típicos del evento controlen el evento de nuevo más a lo largo de la ruta. Para obtener más información sobre el control de eventos enrutados, vea Marcar eventos enrutados como controlados y Control de clases.

Este delegado también representa controladores para CommandManager.Executed y CommandManager.PreviewExecutedEvent, que son eventos adjuntos en la CommandManager clase que implementa gran parte de la infraestructura de comandos. Pero la mayoría de los controladores prácticos controlarán los Executed eventos de un determinado CommandBinding, en lugar de trabajar en el CommandManager nivel .

Para obtener más información sobre los comandos, consulte Información general sobre los comandos.

Métodos de extensión

GetMethodInfo(Delegate)

Obtiene un objeto que representa el método representado por el delegado especificado.

Se aplica a

Producto Versiones
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10

Consulte también