UIElement.OnMouseUp(MouseButtonEventArgs) 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
처리되지 않은 MouseUp 라우트된 이벤트가 이 클래스에서 파생된 경로의 요소에 도달하면 호출됩니다. 이 이벤트에 대한 클래스 처리를 추가하려면 이 메서드를 구현합니다.
protected:
virtual void OnMouseUp(System::Windows::Input::MouseButtonEventArgs ^ e);
protected 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 Overridable Sub OnMouseUp (e As MouseButtonEventArgs)
매개 변수
이벤트 데이터를 포함하는 MouseButtonEventArgs. 이벤트 데이터는 마우스 단추가 해제되었음을 보고합니다.
설명
마우스 단추 동작은 전용 입력 관리자도 처리합니다. 입력 및 명령 바인딩과 같은 마우스 단추 동작을 사용하는 다른 프로그래밍 기능은 일반적인 마우스 단추 동작으로 노출되기 전에 작업에 대한 처리기를 호출할 수 있습니다. 이러한 입력 시스템 기능이 Mouse.MouseUp 이벤트를 처리된 것으로 표시하면 OnMouseUp 호출되지 않습니다.
이 클래스 처리기를 사용하여 이벤트를 처리된 것으로 표시하는 경우 MouseLeftButtonUp 및 MouseRightButtonUp이벤트에 영향을 미칠 수 있습니다. 이러한 이벤트 중 하나는 Mouse.MouseUp 수신할 때 수신 요소에서 발생할 수 있습니다.
이 이벤트를 클래스 처리에서 처리된 것으로 표시하면 하위 이벤트가 계속 발생합니다. 그러나 이벤트 데이터에서 처리된 상태를 전달합니다. 이벤트가 클래스 처리에서 처리되는 경우 처리기를 연결하기 위해 handledEventsToo
true
AddHandler(RoutedEvent, Delegate, Boolean) 명시적으로 사용하지 않는 한 하위 인스턴스에 대한 인스턴스 처리기가 호출되지 않습니다. 클래스 처리기가 handledEventsToo
true
RegisterClassHandler(Type, RoutedEvent, Delegate, Boolean) 서명에 등록되지 않은 한 클래스 처리기도 호출되지 않습니다.
OnMouseUp처리하면 클래스 처리가 가능한 모든 마우스 단추 위로 동작을 차지함을 의미합니다. 이 동작은 원치 않을 수 있습니다. 따라서 이 가상 메서드를 사용하여 이벤트를 처리된 것으로 표시할 때는 주의해야 합니다.
각 단추별 직접 이벤트에는 가상 On* 메서드도 있습니다. 이러한 단추별 클래스 처리기를 재정의하는 것이 더 적절한지 여부를 고려합니다.
이 메서드에는 기본 구현이 없습니다. 상속의 중간 클래스가 이 메서드를 구현할 수 있으므로 구현에서 기본 구현을 호출하는 것이 좋습니다.
이 메서드의 목적은 CLR(공용 언어 런타임) 이벤트 패턴 On* 메서드와 유사합니다. 이 메서드는 인스턴스 처리기 대신 클래스 처리기를 설정하여 파생 클래스에서 일치하는 이벤트를 처리하는 방법을 제공합니다. 이 경우 일치하는 이벤트는 라우트된 이벤트입니다. 라우트된 이벤트는 처리기를 호출할 요소가 아닌 자식 요소에 의해 발생할 수 있으므로 On* 메서드의 구현 패턴은 라우트된 이벤트에 대해 다릅니다. 따라서 구현은 이벤트 데이터의 원본 속성을 검사해야 합니다. 대부분의 경우 이벤트를 다시 평가해서는 안 됩니다.
이 메서드를 재정의하거나 RegisterClassHandler클래스 처리기를 등록하여 이벤트가 이벤트 경로를 따라 수신될 때 UIElement 파생 클래스에서 프라이빗 클래스 처리기 메서드를 호출할 수 있습니다. 클래스 처리가 적절한 시나리오 중 하나는 이벤트 데이터를 조작하고 라우트된 이벤트를 처리된 것으로 표시하는 것입니다.
적용 대상
.NET