ContentElement.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 

이벤트 유형

MouseButtonEventHandler

구현

설명

라우트된 이벤트 개요 는 요소 트리를 통해 버블링 경로를 따르는 것으로 보이지만 실제로는 발생 하는 직접 라우트된 이벤트 이며 각각에 의해 요소 트리를 따라 reraised 됩니다 ContentElement .Although this Routed Events Overview 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 ContentElement.

이 이벤트는 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 arguments of this event expose the arguments 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.

개념적으로이 이벤트 (및의 다른 마우스 단추 이벤트 ContentElement )는 마우스 "서비스" (클래스에서 제공 하는 서비스 정의 사용)로 간주 Mouse 합니다.Conceptually, think of this event (and other mouse-button events on ContentElement) 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. 비표준 단추의 상태를 확인 하는 것과 같은 고급 시나리오의 경우에서 해당 Api를 사용 하는 대신 클래스에서 Api를 사용 해야 할 수 있습니다 Mouse ContentElement .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 ContentElement.

중요

ContentElement컨트롤과 같은 동작을 포함 하는 몇 가지 파생 클래스 (예:)에는 Hyperlink 마우스 단추 이벤트에 대 한 고유 클래스 처리가 있을 수 있습니다.A few ContentElement derived classes that have control-like behavior, for example, Hyperlink, 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.

적용 대상

추가 정보