Ler em inglês

Compartilhar via


ExecutedRoutedEventHandler Delegar

Definição

Representa o método que manipulará os eventos roteados Executed e PreviewExecuted, bem como os eventos anexados relacionados.

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

Parâmetros

sender
Object

O objeto em que o manipulador de eventos está anexado.

e
ExecutedRoutedEventArgs

Os dados do evento.

Exemplos

Este exemplo cria um ExecutedRoutedEventHandler que define uma propriedade visual no destino quando o comando é executado. O exemplo também inclui o CanExecuteRoutedEventHandler para o mesmo 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;
    }
}

Comentários

Esse delegado contém a lógica de implementação de um RoutedCommand. Separar a lógica de implementação do comando permite que o comando seja invocado de diferentes fontes e tipos e permite a centralização da lógica de comando.

Esse delegado também é usado para CommandManager.Executed e CommandManager.PreviewExecuted, que são eventos anexados na CommandManager classe que implementa grande parte da infraestrutura de comando. Mas a maioria dos manipuladores práticos lidará com os Executed eventos de um determinado CommandBinding, em vez de trabalhar no CommandManager nível.

No ExecutedRoutedEventArgs, as seguintes propriedades geralmente são de interesse quando você escreve um manipulador de eventos para um evento roteado que resulta de um comando executado:

  • Source relata o destino em que o comando foi executado. Depois que o comando for executado, você também poderá pensar no Source mais geral em termos de evento roteados, como o objeto que gerou um evento roteado.

  • Command relata o comando executado. Essa propriedade será útil se você usar associações de comando e se você escrever manipuladores que potencialmente manipulam vários comandos.

  • Parameter relata todos os parâmetros específicos de comando que foram passados pelo comando em execução. Nem todos os comandos usam ou esperam parâmetros específicos do comando.

  • Handled relata se o evento roteado resultante do comando executado já foi manipulado por um elemento diferente ao longo da rota. Para manipuladores de eventos roteados, é recomendável ter manipuladores que fazem um trabalho significativo ao manipular o evento para definir Handled como true. Isso impede que manipuladores típicos do evento processem o evento novamente ao longo da rota. Para obter mais informações sobre como lidar com eventos roteado, consulte Marcando eventos roteado como manipulados e Tratamento de Classe.

Esse delegado também representa manipuladores para CommandManager.Executed e CommandManager.PreviewExecutedEvent, que são eventos anexados na CommandManager classe que implementa grande parte da infraestrutura de comando. Mas a maioria dos manipuladores práticos lidará com os Executed eventos de um determinado CommandBinding, em vez de trabalhar no CommandManager nível.

Para obter mais informações sobre comandos, consulte Visão geral dos comandos.

Métodos de Extensão

GetMethodInfo(Delegate)

Obtém um objeto que representa o método representado pelo delegado especificado.

Aplica-se a

Produto Versões
.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

Confira também