ContentElement.OnMouseUp(MouseButtonEventArgs) Método

Definição

Invocado quando um evento roteado MouseUp sem tratamento atinge um elemento em sua rota que deriva dessa classe. Implemente esse método para adicionar tratamento de classe a esse evento.

protected public:
 virtual void OnMouseUp(System::Windows::Input::MouseButtonEventArgs ^ e);
protected internal virtual void OnMouseUp (System.Windows.Input.MouseButtonEventArgs e);
abstract member OnMouseUp : System.Windows.Input.MouseButtonEventArgs -> unit
override this.OnMouseUp : System.Windows.Input.MouseButtonEventArgs -> unit
Protected Friend Overridable Sub OnMouseUp (e As MouseButtonEventArgs)

Parâmetros

e
MouseButtonEventArgs

O MouseButtonEventArgs que contém os dados do evento. Os dados do evento relatam que o botão do mouse foi liberado.

Comentários

As ações do botão do mouse também são tratadas por um gerenciador de entrada dedicado. Outros recursos de programação que dependem de ações de botão do mouse, como associações de entrada e comando, podem invocar manipuladores para a ação antes de serem expostos como uma ação geral do botão do mouse. Se esses recursos do sistema de entrada marcarem o Mouse.MouseUp evento como manipulado, OnMouseUp não será invocado.

Se você usar esse manipulador de classe para marcar o evento como tratado, poderá afetar os seguintes eventos: MouseLeftButtonUp e MouseRightButtonUp. Qualquer um desses eventos pode ser gerado no elemento receptor quando Mouse.MouseUp é recebido.

Se você marcar esse evento como tratado no tratamento de classe, os subeventos ainda serão gerados; no entanto, eles passam o estado manipulado nos dados do evento. Se o evento for tratado no tratamento de classe, os manipuladores de instância para os subeventos não serão invocados, a menos que você use AddHandler(RoutedEvent, Delegate, Boolean) explicitamente com handledEventsTootrue para anexar manipuladores. Os manipuladores de classe também não são invocados, a menos que esses manipuladores de classe tenham sido registrados com a RegisterClassHandler(Type, RoutedEvent, Delegate, Boolean) assinatura com handledEventsTootrue. Ao lidar com OnMouseUpo , você está insinuando que o tratamento de classe foi responsável por todas as ações possíveis de botão do mouse. Esse comportamento pode ser indesejado; Portanto, tenha cuidado ao usar esse método virtual para marcar eventos como tratados.

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

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

A finalidade desse método é semelhante aos métodos de clr (common language runtime): esse método fornece os meios para lidar com 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 porque 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 de origem dos dados do evento. Ele não deve tentar recriar o evento na maioria dos casos.

Substituindo esse método ou registrando manipuladores de classe com RegisterClassHandler, classes derivadas de podem chamar métodos de ContentElement manipulador de classe privada quando o evento é recebido ao longo da rota do evento. Um cenário em que o tratamento de classe é apropriado é manipular os dados do evento e marcar o evento roteado como manipulado.

Aplica-se a