Mouse.MouseDown Attached Event

Definition

마우스 단추를 누를 때 발생합니다.Occurs when any mouse button is depressed.

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

Remarks

마우스 단추를 눌린 상태를 확인 하려면 처리기에 전달 된 MouseButtonEventArgs에서 ChangedButton 속성을 확인 합니다.To determine which mouse button was depressed, check the ChangedButton property in the MouseButtonEventArgs passed to the handler.

연결 된 이벤트입니다.This is an attached event. WPFWPF 라우트된 이벤트로 연결 된 이벤트를 구현 합니다.implements attached events as routed events. 연결 된 이벤트는 기본적으로 XAMLXAML 해당 이벤트를 정의 하지 않은 개체에서 처리 될 수 있는 이벤트를 참조 하는 것에 대 한 언어 개념은 WPFWPF 경로 순회 하도록 하 여 이벤트를 설정 하는 방식으로 확장 합니다.Attached events are fundamentally a XAMLXAML language concept for referencing events that can be handled on objects that do not define that event, which WPFWPF expands upon by also enabling the event to traverse a route. 연결 된 이벤트 코드에서 직접 처리 구문이 없습니다 지정 된 추가 사용 하면 코드에서 라우트된 이벤트에 대 한 처리기를 연결 하려면 * 처리기 메서드.Attached events do not have a direct handling syntax in code; to attach handlers for a routed event in code, you use a designated Add*Handler method. 자세한 내용은 참조 하세요 연결 된 이벤트 개요합니다.For details, see Attached Events Overview.

WPF(Windows Presentation Foundation)Windows Presentation Foundation (WPF) 프레임 워크는 UIElementMouseLeftButtonDown ContentElement에서 서로 다른 두 개의 CLR(공용 언어 런타임)common language runtime (CLR) 이벤트로 연결 하 여이 연결 된 이벤트를 기반으로 합니다.MouseRightButtonDownThe WPF(Windows Presentation Foundation)Windows Presentation Foundation (WPF) framework builds on this attached event by surfacing it as two different CLR(공용 언어 런타임)common language runtime (CLR) events on UIElement and ContentElement: MouseLeftButtonDown and MouseRightButtonDown. 이러한 구현은 기본 MouseDown 이벤트를 처리 하 고 이벤트의 인수를 읽어 왼쪽 또는 오른쪽 마우스 단추가 관련 되어 있는지 여부를 확인 합니다.These implementations handle the underlying MouseDown event and read the arguments of the event to determine whether the left or right mouse button was involved. 3 단추 마우스 가운데 단추에 대 한 프레임 워크 수준 이벤트는 지원 되지 있습니다.For a three-button mouse, there is no framework-level event support for the center button. MouseDown 이벤트를 사용 하 여 이벤트 인수에서 MiddleButton 상태를 확인 해야 합니다.You should use the MouseDown event and check the MiddleButton state in the event arguments.

Important

컨트롤과 같은 동작을 포함 하는 몇 가지 ContentElement 파생 클래스 (예: Hyperlink)는 마우스 단추 이벤트에 대 한 고유 클래스를 처리할 수 있습니다.A few ContentElement derived classes that have control-like behavior, for example, Hyperlink, might have inherent class handling for mouse button events. 이벤트는 마우스 왼쪽된 단추는 컨트롤에서 처리 하는 클래스를 할 가능성이 가장 높은 이벤트입니다.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.

위의 중요 한 사항에 설명 된 문제를 해결 하 고 다음 솔루션 중 하나를 사용 하 여 클래스 처리를 포함 하는 파생 클래스에서 마우스 왼쪽 단추 다운 이벤트에 대 한 MouseDown 이벤트를 계속 받을 수 있습니다.You can resolve the issue that is outlined in the preceding Important note and still receive MouseDown 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.

마우스 관련 라우트된 이벤트에 대 한 처리 된 것으로 표시 되거나 하는 방법에 대 한 주의 해야 합니다.For routed events that relate to the mouse, be careful about how or when you mark them handled. 부모 요소에 지정 된 마우스 동작에 대 한 정보를 알려야 하는지 여부를 적절 하 게 선택 하는 것은 WPFWPF 프레임 워크에서 기본 마우스 라우트된 이벤트를 경로를 따라 CLRCLR 이벤트로 표시 하는 모델을 선택 하는 것입니다.The difficulty in making the appropriate choices about whether parent elements should also be informed about any given mouse action is in fact why the WPFWPF framework chose the model of having the underlying mouse routed event be surfaced as CLRCLR events along the route. 유사한 문제가 마우스 이벤트를 터널링을 사용 하는 것입니다.Similar issues exist with tunneling mouse events. 해야 이벤트를 처리 하는 원본으로 추가 자식에 의해 처리 되어 있지와 어떻게이 위치에 따라 합성 부분 예상 된 컨트롤의 해당 영향을 합성 마우스 동작이?Should you handle the event and not have it be handled by further children toward the source, and how would that affect compositing a control where the compositing pieces might have expected mouse behaviors?

라우팅 이벤트 정보Routed Event Information

식별자 필드Identifier field MouseDownEvent
라우팅 전략Routing strategy 버블링Bubbling
대리자Delegate MouseButtonEventHandler

Applies to