UIElement.MouseLeftButtonDown 이벤트

정의

마우스 포인터가 이 요소 위에 있는 동안 마우스 왼쪽 단추를 누르면 발생합니다.Occurs when the left mouse button is pressed while the mouse pointer is over this element.

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 

구현

설명

라우트된 이벤트 는 요소 트리를 통해 버블링 경로를 따르는 것 처럼 보이지만 실제로는 각 UIElement에 의해 요소 트리를 따라 발생 하는 직접 라우트된 이벤트입니다.Although this routed event seems to follow a bubbling route through an element tree, it actually is a direct routed event that is raised and reraised along the element tree by each UIElement.

이 이벤트는 이벤트 경로를 따라 각 요소에 의해 처리 되는 연결 된 이벤트 인 기본 Mouse.MouseDown 이벤트의 마우스 단추 특성을 보고 하는 여러 관련 이벤트 중 하나입니다.This event is one of several related events that report the mouse-button specifics of an underlying Mouse.MouseDown event, which is an attached event that is processed by each element along an event route.

이 이벤트의 이벤트 데이터는 기본 Mouse.MouseDown 이벤트의 이벤트 데이터를 노출 합니다.The event data of this event exposes the event data of the underlying Mouse.MouseDown event. 이벤트가 이벤트 경로를 따라 처리 된 것으로 표시 되 면 마우스 단추 특정 이벤트는 계속 발생 합니다. 그러나 이벤트의 수신기가 되도록 이미 처리 된 것으로 표시 된 이벤트를 처리 하는 옵션과 함께 AddHandler를 명시적으로 호출 하 여 마우스 단추 특정 이벤트의 처리기를 추가 해야 합니다.If that event is marked as handled along the event route, the mouse-button specific events are still raised; however, handlers of the mouse-button specific events must be added by explicitly calling AddHandler, with the option to handle events that are already marked as handled, in order to be listeners to the event. MouseLeftButtonDown 처리 된 것으로 표시 한 경우에는 기본적으로 경로와 관련 된 모든 이벤트에 대 한 모든 추가 수신기에 대해 처리 Mouse.MouseDown를 표시 합니다.If you mark MouseLeftButtonDown handled, you are essentially marking Mouse.MouseDown handled for all further listeners along the route, and on all related events. 여기에는 MouseDoubleClick와 같은 클래스 처리기 생성 이벤트가 포함 될 수 있습니다.This possibly includes class-handler generated events such as MouseDoubleClick.

개념적으로이 이벤트 (및 UIElement의 기타 마우스 단추 이벤트)는 Mouse 클래스에서 제공 하는 서비스 정의를 사용 하 여 마우스 "서비스"로 간주 합니다.Conceptually, think of this event (and other mouse-button events on UIElement) to be a mouse "service" (with the service definition provided by the Mouse class). 이벤트는 이벤트 데이터에서 원래 마우스 이벤트의 마우스 단추 상태 (왼쪽, 오른쪽, 아래쪽)를 확인할 필요가 없는 편의성을 추가 합니다.The event adds the convenience of not needing to check the mouse button states (left-right, up-down) of the original mouse events in the event data. 비표준 단추의 상태를 확인 하는 것과 같은 고급 시나리오의 경우 UIElementMouse 클래스 대신 Api를 사용 해야 할 수 있습니다.For more advanced scenarios, such as checking for states of non-standard buttons, you might need to use the APIs on the Mouse class rather than those on UIElement.

중요

일부 컨트롤 클래스에는 마우스 단추 이벤트에 대 한 고유 클래스 처리가 있을 수 있습니다.Some control classes might have inherent class handling for mouse button events. 왼쪽 마우스 단추 down 이벤트는 컨트롤에서 클래스 처리를 가질 가능성이 가장 높은 이벤트입니다.The left mouse button down event is the most likely event to have class handling in a control. 클래스 처리는 주로 내부 Mouse 클래스 이벤트를 처리 된 것으로 표시 합니다.The class handling often marks the underlying Mouse class event as handled. 이벤트가 처리 된 것으로 표시 되 면 해당 요소에 연결 된 다른 인스턴스 처리기가 일반적으로 발생 하지 않습니다.Once the event is marked handled, other instance handlers that are attached to that element are not ordinarily raised. UI 트리에서 루트 방향으로 버블링의 요소에 연결 된 다른 모든 클래스 또는 인스턴스 처리기도 일반적으로 발생 하지 않습니다.Any other class or instance handlers that are attached to elements in the bubbling direction towards the root in the UI tree are also not ordinarily raised.

위의 중요에 설명 된 문제를 해결 하 고 다음 솔루션 중 하나를 사용 하 여 클래스 처리가 있는 파생 클래스에서 마우스 왼쪽 단추 다운 이벤트에 대 한 MouseLeftButtonDown 이벤트를 계속 받을 수 있습니다.You can resolve the issue that is outlined in the preceding Important and still receive MouseLeftButtonDown events for left mouse button down events on a derived class that has class handling by using either of these solutions:

  • 컨트롤에 의해 처리 된 것으로 표시 되지 않은 PreviewMouseDown 이벤트에 대 한 처리기를 연결 합니다.Attach handlers for the PreviewMouseDown event, which is not marked as handled by the controls. 이 이벤트는 미리 보기 이벤트 이므로 경로가 루트에서 시작 하 고 컨트롤에 대 한 터널을 만듭니다.Notice that because this is a preview event, the route starts at the root and tunnels down to the control.

  • AddHandler를 호출 하 고 라우트된 이벤트 데이터에서 이미 처리 된 것으로 표시 된 경우에도 처리기가 이벤트를 수신할 수 있도록 하는 서명 옵션을 선택 하 여 procedurally 컨트롤에 대 한 처리기를 등록 합니다.Register a handler on the control procedurally by calling AddHandler and choosing the signature option that enables handlers to listen for events even if they are already marked as handled in the routed event data.

라우팅 이벤트 정보Routed Event Information

식별자 필드Identifier field MouseLeftButtonDownEvent
라우팅 전략Routing strategy 직접Direct
대리자Delegate MouseButtonEventHandler
  • 파생 클래스에서이 이벤트에 대 한 클래스 처리를 구현 하려면 OnMouseLeftButtonDown를 재정의 합니다.Override OnMouseLeftButtonDown to implement class handling for this event in derived classes.

적용 대상

추가 정보