ExecutedRoutedEventHandler Delegar
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Representa o método que irá lidar com os Executed eventos e PreviewExecuted encaminhados, bem como eventos associados relacionados.
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)
Parâmetros
- sender
- Object
O objeto onde o gestor de eventos está ligado.
Os dados do evento.
Exemplos
Este exemplo cria uma ExecutedRoutedEventHandler que define uma propriedade visual no alvo quando o comando é executado. O exemplo inclui também o CanExecuteRoutedEventHandler para o mesmo 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
Observações
Este delegado contém a lógica de implementação para um RoutedCommand. Separar a lógica de implementação do comando permite invocar o comando a partir de diferentes fontes e tipos, e possibilita a centralização da lógica de comandos.
Este 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 gerirá os Executed eventos a partir de um determinado CommandBinding, em vez de trabalhar ao nível CommandManager .
Dentro de ExecutedRoutedEventArgs, as seguintes propriedades são geralmente de interesse quando escreve um gestor de eventos para um evento encaminhado que resulta de um comando executado:
Source reporta o alvo onde a ordem foi executada. Uma vez executado o comando, também se pode pensar Source no evento roteado, de forma mais geral, como o objeto que gerou um evento roteado.
Command reporta o comando que foi executado. Esta propriedade é útil se usares associações de comandos e se escreveres handlers que potencialmente lidam com múltiplos comandos.
Parameter reporta quaisquer parâmetros específicos de comando que tenham sido passados pelo comando em execução. Nem todos os comandos usam ou esperam parâmetros específicos de cada comando.
Handled indica se o evento encaminhado resultante do comando executado já foi tratado por outro elemento ao longo da rota. Para gestores de eventos encaminhados, é uma prática recomendada ter manipuladores que realizam trabalho significativo ao gerir o evento para definir Handled como
true. Isto impede que os manipuladores típicos do evento o tratem novamente mais ao longo da rota. Para mais informações sobre o tratamento de eventos encaminhados, veja Marcar Eventos Encaminhados como Tratados e Gestão de Classes.
Este delegado também representa os handlers 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 gerirá os Executed eventos a partir de um determinado CommandBinding, em vez de trabalhar ao nível CommandManager .
Para obter mais informações sobre comandos, consulte Visão geral do comando .
Métodos da Extensão
| Name | Description |
|---|---|
| GetMethodInfo(Delegate) |
Obtém um objeto que representa o método representado pelo delegado especificado. |