UIElement.Tapped 이벤트

정의

처리되지 않은 상호 작용이 이 요소의 적중 테스트 영역에서 발생할 때 발생합니다.

public:
 virtual event TappedEventHandler ^ Tapped;
// Register
event_token Tapped(TappedEventHandler const& handler) const;

// Revoke with event_token
void Tapped(event_token const* cookie) const;

// Revoke with event_revoker
UIElement::Tapped_revoker Tapped(auto_revoke_t, TappedEventHandler const& handler) const;
public event TappedEventHandler Tapped;
function onTapped(eventArgs) { /* Your code */ }
uIElement.addEventListener("tapped", onTapped);
uIElement.removeEventListener("tapped", onTapped);
- or -
uIElement.ontapped = onTapped;
Public Custom Event Tapped As TappedEventHandler 
<uiElement Tapped="eventhandler"/>

이벤트 유형

설명

터치, 마우스 장치 및 펜 장치는 모두 작업을 생성할 수 있습니다. 자세한 내용은 포인터 입력 처리를 참조하세요.

디자인 에서 탭 조작을 사용하는 방법에 대한 자세한 내용은 터치 조작 디자인을 참조하세요. 일반적인 개념은 요소에 대한 상호 작용이 앱에서 요소의 기본 작업을 호출한다는 것입니다.

Tapped 이벤트는 제스처를 나타내는 반면 PointerPressed 이벤트는 하위 수준 입력 이벤트입니다. 탭 및 PointerPressed 이벤트는 단일 사용자 상호 작용의 결과로 발생할 수 있습니다. 이벤트 원본에 기본값이 아닌 ManipulationMode가 있는 경우 ManipulationStarting 도 발생할 수 있습니다. 컨트롤이 컨트롤 논리에서 PointerPressed 를 이미 처리하고 있거나 조작을 처리하고 있더라도 Tapped가 발생하는 것을 방지하지는 않습니다.

Tapped 이벤트는 두 개 이상의 포인터 지점의 결과일 수 있습니다. Tapped와 같은 상위 수준 제스처 이벤트의 경우 더 이상 개별 PointerId 값 또는 개별 좌표와 같은 PointerPoint 세부 정보에 즉시 액세스할 수 없습니다. 디바이스 유형(PointerDeviceType)에 대한 액세스 권한이 있으며 좌표의 경우 GetPosition을 호출할 수 있습니다. 그러면 두 개 이상의 포인터 지점에서 에 대한 좌표의 평균이 제공됩니다.

탭은 라우트된 이벤트입니다. 또한 요소에 Tapped 이벤트 원본이 되도록 IsTapEnabledtrue 여야 합니다(true 는 기본값임). IsTapEnabledfalse인 이벤트 원본 자식 요소에서 부모로 이벤트가 거품을 내는 경우 부모 요소에서 IsTapEnabledfalse인 경우에도 부모 요소에서 Tapped를 처리할 수 있습니다. 라우트된 이벤트 개념에 대한 자세한 내용은 이벤트 및 라우트된 이벤트 개요를 참조하세요.

터치 동작의 경우 및 터치 동작의 결과인 상호 작용별 또는 조작 이벤트의 경우 이벤트 원본이 되려면 요소를 적중 테스트로 표시해야 합니다. UIElement.Visibility표시되어야 합니다. 파생 형식의 다른 속성도 적중 테스트 표시 유형에 영향을 미칩니다. 자세한 내용은 이벤트 및 라우트된 이벤트 개요를 참조하세요.

Tapped는 이벤트에 대한 이벤트 데이터가 처리됨으로 표시된 경우에도 호출될 경로에 이벤트 처리기를 연결하는 기능을 지원 합니다. AddHandler를 참조하세요.

특정 Windows 런타임 컨트롤에는 Tapped 이벤트에 대한 클래스 기반 처리가 있을 수도 있습니다. 이 경우 컨트롤에 OnTapped 메서드에 대한 재정의가 있는 것일 수 있습니다. 이벤트에 대한 클래스 기반 처리의 작동 방식에 대한 자세한 내용은 이벤트 및 라우트된 이벤트 개요를 참조하세요.

탭 및 홀딩 은 상호 배타적입니다. 입력 시스템은 사용자가 화면을 터치하는 즉시 탭되지 않도록 동작을 탭, 홀딩 또는 기타 제스처로 할지 여부를 결정하기 위해 포인터 지점이 해제될 때까지 기다려야 합니다. 즉각적인 피드백이 필요한 경우 PointerPressed 를 대신 사용할 수 있습니다.

사용자 상호 작용이 DoubleTapped도 발생하면 첫 번째 탭을 나타내기 위해 Tapped가 먼저 발생하지만 두 번째 탭은 추가 Tapped를 발생시키지 않습니다. Tapped와 DoubleTapped에 대해 다른 논리를 원하는 경우 결국 DoubleTap 작업으로 해석되는 상호 작용에서 실행되지 않도록 Tapped 처리기는 앱별 변수와 타이머를 사용해야 할 수 있습니다.

마우스 및 펜/스타일러스 입력을 위해 탭

입력 시스템은 사용자가 마우스 왼쪽 단추를 클릭하고 요소를 탭한 작업으로 처리하는 작업을 처리합니다. 이벤트는 마우스 왼쪽 단추가 해제될 때까지 실행되지 않습니다. 마우스 입력은 마우스 단추를 누 시간이나 개최되는 단추에 관계없이 기본적으로 보류 이벤트를 생성하지 않습니다.

펜 장치의 경우 펜 장치를 표면에 터치하고 한 곳에 유지하면 보류 동작이 생성됩니다.

Tapped 이벤트를 발생시키지 않는 컨트롤

이러한 컨트롤은 Tapped 이벤트를 발생시키지 않습니다.

적용 대상

추가 정보