RoutedEventArgs.Handled Propriedade

Definição

Obtém ou define um valor que indica o estado atual de manipulação de eventos para um evento roteado enquanto ele trafega na rota.

public:
 property bool Handled { bool get(); void set(bool value); };
public bool Handled { [System.Security.SecurityCritical] get; [System.Security.SecurityCritical] set; }
public bool Handled { get; set; }
[<get: System.Security.SecurityCritical>]
[<set: System.Security.SecurityCritical>]
member this.Handled : bool with get, set
member this.Handled : bool with get, set
Public Property Handled As Boolean

Valor da propriedade

Se for configurar, defina como true se o evento deve ser marcado como tratado; caso contrário false. Se for ler esse valor, true indica que um manipulador de classe ou algum manipulador de instância ao longo da rota já marcou este evento como manipulado. false.indica que nenhum manipulador marcou o evento como manipulado.

O valor padrão é false.

Atributos

Exemplos

O exemplo a seguir implementa um manipulador de eventos que marca o evento manipulado.

protected override void OnPreviewMouseRightButtonDown(System.Windows.Input.MouseButtonEventArgs e)
{
    e.Handled = true; //suppress the click event and other leftmousebuttondown responders
    MyEditContainer ec = (MyEditContainer)e.Source;
    if (ec.EditState)
    { ec.EditState = false; }
    else
    { ec.EditState = true; }
    base.OnPreviewMouseRightButtonDown(e);
}
Protected Overrides Sub OnPreviewMouseRightButtonDown(ByVal e As System.Windows.Input.MouseButtonEventArgs)
    e.Handled = True 'suppress the click event and other leftmousebuttondown responders
    Dim ec As MyEditContainer = CType(e.Source, MyEditContainer)
    If ec.EditState Then
        ec.EditState = False
    Else
        ec.EditState = True
    End If
    MyBase.OnPreviewMouseRightButtonDown(e)
End Sub

Comentários

Marcar o evento manipulado limitará a visibilidade do evento roteado aos ouvintes ao longo da rota do evento. O evento ainda percorre o restante da rota, mas apenas manipuladores especificamente adicionados com HandledEventsTootrue na chamada de AddHandler(RoutedEvent, Delegate, Boolean) método serão invocados em resposta. Manipuladores padrão em ouvintes de instância (como aqueles expressos em XAML (Extensible Application Markup Language)) não serão invocados. O tratamento de eventos marcados como manipulados não é um cenário comum.

Se você for um autor de controle definindo seus próprios eventos, as decisões tomadas em relação ao tratamento de eventos no nível da classe afetarão os usuários do controle, bem como quaisquer usuários de controles derivados e, potencialmente, outros elementos contidos no controle ou que contenham o controle. Para obter mais informações, consulte Marcar eventos roteados como manipulados e manipulação de classe.

Em circunstâncias muito raras, é apropriado manipular eventos em Handled que está marcado truecomo e modificar os argumentos do evento alterando Handled para false. Isso pode ser necessário em determinadas áreas de eventos de entrada de controles, como manipulação de chave de versus TextInput onde eventos de entrada de KeyDown baixo nível e alto nível competem pela manipulação e cada um está tentando trabalhar com uma estratégia de roteamento diferente.

Aplica-se a