Este artigo foi traduzido por máquina. Para visualizar o arquivo em inglês, marque a caixa de seleção Inglês. Você também pode exibir o texto Em inglês em uma janela pop-up, movendo o ponteiro do mouse sobre o texto.
Tradução
Inglês

Método UIElement3D.OnPreviewMouseDown (MouseButtonEventArgs)

 

Chamado quando uma exceção não tratada Mouse.PreviewMouseDown anexado evento roteado atinge um elemento em sua rota que deriva dessa classe. Implemente esse método para adicionar a manipulação de classe para esse evento.

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

protected internal virtual void OnPreviewMouseDown(
	MouseButtonEventArgs e
)

Parâmetros

e
Type: System.Windows.Input.MouseButtonEventArgs

O MouseButtonEventArgs que contém os dados do evento. Os dados de evento informa que um ou mais botões do mouse foram pressionados.

Ações de botão do mouse também são manipuladas por um gerente dedicado de entrada. Outros recursos de programação que dependem de ações de botão do mouse, como entrada e associações de comando, podem chamar manipuladores para a ação antes de serem exposto como uma ação de botão do mouse geral. Se esses entrada marca de recursos de sistema do Mouse.PreviewMouseDown evento como manipulado, OnPreviewMouseDown não é invocado.

Se você usar esse manipulador de classe para marcar o evento como manipulado, afetar potencialmente os seguintes eventos: PreviewMouseLeftButtonDown e PreviewMouseRightButtonDown. Um desses eventos podem ser gerado no elemento de recebimento quando Mouse.PreviewMouseDown é recebida.

Se você marcar esse evento como manipulado no tratamento de classes, subevents ainda são gerados; No entanto, eles passam o estado manipulado nos dados do evento. Se o evento é manipulado no tratamento de classe, manipuladores de instância para os subevents não são invocados, a menos que você use explicitamente AddHandler(RoutedEvent, Delegate, Boolean) com handledEventsToo true para anexar manipuladores.  Manipuladores de classe também não são invocados, a menos que os manipuladores de classe foram registrados com o RegisterClassHandler(Type, RoutedEvent, Delegate, Boolean) assinatura handledEventsToo true Manipulando OnPreviewMouseDown, você está indicando que sua manipulação de classe contabilizada todos botão possíveis ações. Esse comportamento pode ser indesejado. Portanto, tenha cuidado ao usar esse método virtual para marcar eventos como manipulados.

Cada um dos eventos direct específicas do botão também tem uma máquina virtual * método; Considere se substituir esses manipuladores de botão específico de classe pode ser mais apropriado.

Esse método tem nenhuma implementação padrão. Como uma classe intermediária na herança de pode implementar esse método, é recomendável que você chamar a implementação base em sua implementação.

O objetivo desse método é semelhante de CLR (Common Language Runtime) padrão de evento em * métodos: esse 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 On * é diferente para eventos roteados como um evento roteado pode ser gerado por um elemento filho, que não é necessariamente o elemento que invocará manipuladores. Portanto, sua implementação precisa examinar as propriedades da fonte de dados do evento. Ele não deve tentar reraise o evento na maioria dos casos.

Substituir esse método ou Registrando manipuladores de classe RegisterClassHandler, classes derivadas de UIElement3D pode chamar métodos do manipulador de classe privada quando o evento é recebido ao longo da rota de evento. É um cenário onde a manipulação de classe é apropriada manipular os dados do evento e marque o evento roteado como manipulado. Outro cenário que é específico para eventos de visualização é marcá-los tratado para que os manipuladores de classe de bolha correspondentes não serão chamados.

OnPreviewMouseDown é introduzido no .NET Framework versão 3.5. Para obter mais informações, consulte Versões e dependências do .NET Framework.

.NET Framework
Disponível desde 3.0
Retornar ao início
Mostrar: