Windows Dev Center

Este artigo foi traduzido por máquina. Coloque o ponteiro do mouse sobre as frases do artigo para ver o texto original. Mais informações.
Tradução
Original
Informações
O tópico solicitado está sendo mostrado abaixo. No entanto, este tópico não está incluído nesta biblioteca.

Método UIElement.OnMouseDown

Chamado quando Mouse.MouseDown não tratadosevento anexado alcançar um elemento em sua rota que é derivada dessa classe. Implemente esse método para adicionar manipulação de classe para este evento.

Namespace:  System.Windows
Assembly:  PresentationCore (em PresentationCore.dll)

protected virtual void OnMouseDown(
	MouseButtonEventArgs e
)

Parâmetros

e
Tipo: System.Windows.Input.MouseButtonEventArgs
MouseButtonEventArgs que contém os dados do evento. Esses dados de evento relatório de detalhes sobre o botão do mouse que foi pressionado e o estado manipulado.

As ações de botão do mouse também são tratadas por um gerente dedicado de entrada. Outros recursos de programação que dependem de ações de botão do mouse, como associações de entrada e de comando, podem invocar manipuladores para a ação antes de ser exposta como uma ação geral do botão do mouse. Se esses recursos do sistema de entrada marcam o evento de Mouse.MouseDown como tratado, OnMouseDown não é invocado.

Se você usar este manipulador de classe para marcar o evento como tratado, você afeta potencialmente os seguintes eventos: MouseLeftButtonDown e MouseRightButtonDown. Qualquer um desses eventos pode ser gerado no elemento de receptor quando Mouse.MouseDown é recebido.

Se você marca o evento como tratado na manipulação de classe, os subevents são gerados ainda; no entanto, passe o estado tratado nos dados do evento. Se o evento é tratado na manipulação de classe, manipuladores de instância para os subevents não são chamados a menos que você explicitamente usar AddHandler(RoutedEvent, Delegate, Boolean) com handledEventsToo true para anexar tratadores. Manipuladores de classe não são chamados também a menos que esses manipuladores de classe são registrados com a assinatura de RegisterClassHandler(Type, RoutedEvent, Delegate, Boolean) com handledEventsToo true. Manipulando OnMouseDown, você está implicando que seu tratamento de classe espera todas as ações possíveis de botão do mouse para baixo. Esse comportamento pode ser indesejado; Portanto, use cautela quando você usa este método virtual para marcar eventos como manipulados.

Cada um dos eventos diretos botão específicos também tem um método virtual de On*; considere se substituir esses manipuladores botão específicos de classe pode ser mais apropriado.

Este método não tem nenhuma implementação padrão. Porque uma classe intermediária a herança pode implementar esse método, recomendamos que você chamar a implementação base na sua implementação.

O propósito deste método é semelhante aos métodos de On* de padrão de evento de common language runtime (CLR) : este método fornece os meios para manipular o evento correspondente de classes derivadas estabelecendo um manipulador de classe em vez de um manipulador de instância. Nesse caso o evento correspondente é um evento roteado. O padrão de implementação dos métodos de On* é diferente para eventos roteados como um evento roteado pode ser gerado por um elemento filho, que não é necessariamente o elemento que irá chamar manipuladores. Portanto, a implementação precisa examinar as propriedades da fonte de dados do evento. Não deve tentar ao reraise o evento na maioria dos casos.

Substituindo este método ou registrar manipuladores de classe com RegisterClassHandler, classes derivadas de UIElement podem chamar métodos particulares de manipulador de classe quando o evento for recebido na rota do evento. Um cenário onde a manipulação de classe é apropriado é manipular os dados do evento e marcar o evento roteado como tratado.

.NET Framework

Com suporte em: 4.5, 4, 3.5, 3.0

.NET Framework Client Profile

Com suporte em: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Função Server Core sem suporte), Windows Server 2008 R2 (Função Server Core com suporte com o SP1 ou posterior, Itanium sem suporte)

O .NET Framework não oferece suporte a todas as versões de cada plataforma. Para obter uma lista das versões com suporte, consulte Requisitos do sistema do .NET Framework.

Contribuições da comunidade

Mostrar:
© 2015 Microsoft