다음을 통해 공유


UIElement3D.MouseLeftButtonDown 이벤트

정의

마우스 포인터가 이 요소 위에 있는 동안 마우스 왼쪽 단추를 누르면 발생합니다.

public:
 virtual event System::Windows::Input::MouseButtonEventHandler ^ MouseLeftButtonDown;
public event System.Windows.Input.MouseButtonEventHandler MouseLeftButtonDown;
member this.MouseLeftButtonDown : System.Windows.Input.MouseButtonEventHandler 
Public Custom Event MouseLeftButtonDown As MouseButtonEventHandler 

이벤트 유형

구현

설명

라우트된 이벤트 개요 는 요소 트리를 통해 버블링 경로를 따르는 것처럼 보이지만 실제로는 각 UIElement3D에 의해 요소 트리를 따라 발생하고 다시 평가되는 직접 라우트된 이벤트입니다.

이 이벤트는 이벤트 경로를 따라 각 요소에 의해 처리되는 연결된 이벤트인 기본 이벤트의 마우스 단추 세부 정보를 보고하는 Mouse.MouseDown 여러 관련 이벤트 중 하나입니다.

이 이벤트의 이벤트 데이터는 기본 이벤트의 이벤트 데이터를 노출합니다 Mouse.MouseDown . 해당 이벤트가 이벤트 경로를 따라 처리된 것으로 표시되면 마우스 단추 관련 이벤트가 계속 발생합니다. 그러나 이벤트에 대한 수신기가 되려면 이미 처리된 것으로 표시된 이벤트를 처리하는 옵션과 함께 를 명시적으로 호출 AddHandler하여 마우스 단추 특정 이벤트의 처리기를 추가해야 합니다. 처리된 것으로 표시 MouseLeftButtonDown 하면 기본적으로 경로 및 모든 관련 이벤트에 대한 모든 추가 수신기에 대해 처리됨을 표시 Mouse.MouseDown 합니다. 여기에는 와 같은 MouseDoubleClick클래스 처리기 생성 이벤트가 포함될 수 있습니다.

개념적으로 이 이벤트(및 의 다른 마우스 단추 이벤트 UIElement3D)를 마우스 "서비스"(클래스에서 제공하는 Mouse 서비스 정의 포함)로 간주합니다. 이벤트는 이벤트 데이터에서 원래 마우스 이벤트의 마우스 단추 상태(왼쪽-오른쪽, 위쪽)를 검사 필요가 없다는 편의를 추가합니다. 비표준 단추 상태 확인과 같은 고급 시나리오의 경우 의 API가 아닌 UIElement3D클래스에서 Mouse API를 사용해야 할 수 있습니다.

중요

클래스 처리는 종종 기본 클래스 이벤트를 처리된 것으로 표시합니다 Mouse . 이벤트가 처리된 것으로 표시되면 해당 요소에 연결된 다른 instance 처리기가 일반적으로 발생하지 않습니다. UI 트리의 루트를 향해 버블링 방향의 요소에 연결된 다른 클래스 또는 instance 처리기도 일반적으로 발생하지 않습니다.

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

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

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

라우팅 이벤트 정보

식별자 필드 MouseLeftButtonDownEvent
라우팅 전략 직접
대리자 MouseButtonEventHandler
  • 파생 클래스에서 이 이벤트에 대한 클래스 처리를 구현하려면 재정 OnMouseLeftButtonDown 의합니다.

적용 대상

추가 정보