ContentElement.OnMouseUp(MouseButtonEventArgs) 메서드

정의

처리되지 않은 MouseUp 라우트된 이벤트가 해당 경로에서 이 클래스로부터 파생된 요소에 도달할 경우 호출됩니다. 이 이벤트에 대한 클래스 처리를 추가하려면 이 메서드를 구현합니다.

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)

매개 변수

e
MouseButtonEventArgs

이벤트 데이터를 포함하는 MouseButtonEventArgs입니다. 이벤트 데이터는 마우스 단추를 놓았음을 보고합니다.

설명

마우스 단추 작업은 전용 입력 관리자에서도 처리됩니다. 입력 및 명령 바인딩과 같은 마우스 단추 작업을 사용하는 다른 프로그래밍 기능은 일반적인 마우스 단추 동작으로 노출되기 전에 작업에 대한 처리기를 호출할 수 있습니다. 이러한 입력 시스템 기능이 이벤트를 처리된 것으로 표시 Mouse.MouseUp 하면 이 OnMouseUp 호출되지 않습니다.

이 클래스 처리기를 사용하여 이벤트를 처리된 것으로 표시하는 경우 및 MouseRightButtonUp이벤트에 MouseLeftButtonUp 영향을 미칠 수 있습니다. 이 수신될 때 Mouse.MouseUp 이러한 이벤트 중 하나가 수신 요소에서 발생할 수 있습니다.

이 이벤트를 클래스 처리에서 처리된 것으로 표시하면 하위 이벤트가 계속 발생합니다. 그러나 이벤트 데이터에서 처리된 상태를 전달합니다. 이벤트가 클래스 처리에서 처리되는 경우 처리기를 연결하기 위해 를 명시적으로 사용하지 AddHandler(RoutedEvent, Delegate, Boolean)handledEventsTootrue 않는 한 하위 항목에 대한 instance 처리기가 호출되지 않습니다. 클래스 처리기가 를 사용하여 서명handledEventsTootrue에 등록 RegisterClassHandler(Type, RoutedEvent, Delegate, Boolean) 되지 않은 한 클래스 처리기도 호출되지 않습니다. 를 처리하면 OnMouseUp클래스 처리가 가능한 모든 마우스 단추 업 작업을 차지함을 의미합니다. 이 동작은 원치 않을 수 있습니다. 따라서 이 가상 메서드를 사용하여 이벤트를 처리된 것으로 표시할 때는 주의해야 합니다.

각 단추별 직접 이벤트에는 가상 On* 메서드도 있습니다. 이러한 단추별 클래스 처리기를 재정의하는 것이 더 적합한지 여부를 고려합니다.

이 메서드에는 기본 구현이 없습니다. 상속의 중간 클래스는 이 메서드를 구현할 수 있으므로 구현에서 기본 구현을 호출하는 것이 좋습니다.

이 메서드의 목적은 CLR(공용 언어 런타임) 이벤트 패턴 On* 메서드와 유사합니다. 이 메서드는 instance 처리기 대신 클래스 처리기를 설정하여 파생 클래스에서 일치하는 이벤트를 처리하는 수단을 제공합니다. 이 경우 일치하는 이벤트는 라우트된 이벤트입니다. 라우트된 이벤트는 반드시 처리기를 호출하는 요소가 아닌 자식 요소에 의해 발생할 수 있으므로 On* 메서드의 구현 패턴은 라우트된 이벤트에 대해 다릅니다. 따라서 구현은 이벤트 데이터의 원본 속성을 검사해야 합니다. 대부분의 경우 이벤트를 다시 평가해서는 안 됩니다.

이 메서드를 재정의하거나 에 클래스 처리기를 RegisterClassHandler등록하여 의 ContentElement 파생 클래스는 이벤트가 이벤트 경로를 따라 수신될 때 프라이빗 클래스 처리기 메서드를 호출할 수 있습니다. 클래스 처리가 적절한 시나리오 중 하나는 이벤트 데이터를 조작하고 라우트된 이벤트를 처리된 것으로 표시하는 것입니다.

적용 대상