Mouse.MouseDown 연결된 이벤트

정의

마우스 단추를 누를 때 발생합니다.

see AddMouseDownHandler, and RemoveMouseDownHandler
see AddMouseDownHandler, and RemoveMouseDownHandler
see AddMouseDownHandler, and RemoveMouseDownHandler

설명

누른 마우스 단추를 확인하려면 처리기에 전달된 의 ChangedButton 속성을 MouseButtonEventArgs 검사.

연결 된 이벤트입니다. WPF는 연결된 이벤트를 라우트된 이벤트로 구현합니다. 연결된 이벤트는 기본적으로 해당 이벤트를 정의하지 않는 개체에서 처리할 수 있는 이벤트를 참조하기 위한 XAML 언어 개념이며, WPF는 이벤트가 경로를 트래버스할 수 있도록 하여 확장됩니다. 연결 된 이벤트 코드에서 직접 처리 구문이 없습니다 지정 된 추가 사용 하면 코드에서 라우트된 이벤트에 대 한 처리기를 연결 하려면 * 처리기 메서드. 자세한 내용은 참조 하세요 연결 된 이벤트 개요합니다.

WPF(Windows Presentation Foundation) 프레임워크는 및 ContentElementMouseLeftButtonDownMouseRightButtonDown에서 두 개의 서로 다른 CLR(공용 언어 런타임) 이벤트로 표시하여 이 연결된 이벤트를 UIElement 기반으로 합니다. 이러한 구현은 기본 MouseDown 이벤트를 처리하고 이벤트의 인수를 읽어 왼쪽 또는 오른쪽 마우스 단추가 관련되었는지 여부를 확인합니다. 3개의 단추 마우스의 경우 가운데 단추에 대한 프레임워크 수준 이벤트가 지원되지 않습니다. 이벤트를 사용하고 MouseDown 이벤트 인수에서 MiddleButton 상태를 검사 합니다.

중요

컨트롤과 유사한 동작이 있는 몇 ContentElement 가지 파생 클래스(예: Hyperlink)에는 마우스 단추 이벤트에 대한 고유 클래스 처리가 있을 수 있습니다. 왼쪽 마우스 단추 아래쪽 이벤트는 컨트롤에서 클래스를 처리할 가능성이 가장 높은 이벤트입니다. 클래스 처리는 종종 기본 클래스 이벤트를 처리된 것으로 표시합니다 Mouse . 이벤트가 처리된 것으로 표시되면 해당 요소에 연결된 다른 instance 처리기가 일반적으로 발생하지 않습니다. UI 트리의 루트를 향해 버블링 방향의 요소에 연결된 다른 클래스 또는 instance 처리기도 일반적으로 발생하지 않습니다.

앞의 중요 참고 사항에 설명된 문제를 resolve 다음 솔루션 중 하나를 사용하여 클래스 처리가 있는 파생 클래스에서 왼쪽 마우스 단추 아래로 이벤트에 대한 이벤트를 받을 MouseDown 수 있습니다.

  • 컨트롤에서 PreviewMouseDown 처리된 것으로 표시되지 않는 이벤트에 대한 처리기를 연결합니다. 이는 미리 보기 이벤트이므로 루트에서 경로가 시작되고 컨트롤까지 터널 다운됩니다.

  • 처리기가 라우트된 이벤트 데이터에서 처리된 것으로 이미 표시된 경우에도 이벤트를 수신 대기할 수 있도록 하는 서명 옵션을 호출 AddHandler 하고 선택하여 컨트롤에 처리기를 프로시저 방식으로 등록합니다.

마우스와 관련된 라우트된 이벤트의 경우 처리된 표시 방법 또는 시기에 주의해야 합니다. 주어진 마우스 동작에 대해 부모 요소도 알려야 하는지 여부에 대한 적절한 선택을 하는 데 어려움이 있습니다. WPF 프레임워크가 경로에 따라 기본 마우스 라우트된 이벤트가 CLR 이벤트로 표시되도록 하는 모델을 선택한 이유입니다. 마우스 이벤트 터널링과 비슷한 문제가 있습니다. 이벤트를 처리해야 하며 원본에 대한 추가 자식에 의해 처리되지 않아야 하며, 구성 조각이 마우스 동작을 예상할 수 있는 컨트롤을 구성하는 데 어떤 영향을 주나요?

라우팅 이벤트 정보

식별자 필드 MouseDownEvent
라우팅 전략 버블링
대리자 MouseButtonEventHandler

적용 대상