RoutedEvent 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
Windows 런타임 이벤트 시스템으로 라우팅된 이벤트를 나타냅니다.
public ref class RoutedEvent sealed
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.UI.Xaml.WinUIContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class RoutedEvent final
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.UI.Xaml.WinUIContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class RoutedEvent
Public NotInheritable Class RoutedEvent
- 상속
- 특성
예제
이 예제에서는 AddHandler 및 handledEventsTootrue
를 로 사용하여 이벤트 처리기를 연결하기 위한 기본 구문을 보여 줍니다. 이 경우 유선 이벤트가 Tapped이고 RoutedEvent
예제에서 사용되는 -type 식별자는 TappedEvent입니다. 일반적인 와이어 처리기 위치는 페이지에 대해 로드되거나 템플릿 컨트롤 의 경우 OnApplyTemplate 입니다.
void MainPage::pageRoot_Tapped(Platform::Object^ sender, Windows::UI::Xaml::Input::TappedRoutedEventArgs^ e)
{
//implementation
}
void MainPage::pageRoot_Loaded(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e)
{
this->AddHandler(UIElement::TappedEvent, ref new TappedEventHandler(this, &MainPage::pageRoot_Tapped), true);
}
private void pageRoot_Tapped(object sender, TappedRoutedEventArgs e)
{
//implementation
}
private void pageRoot_Loaded_1(object sender, RoutedEventArgs e)
{
this.AddHandler(UIElement.TappedEvent, new TappedEventHandler(pageRoot_Tapped), true);
}
설명
참고
Windows 런타임 이벤트 시스템은 사용자 지정 라우트된 이벤트를 만들 수 없습니다. Windows 런타임 자체만 라우트된 이벤트 동작이 있도록 이벤트를 정의할 수 있습니다.
라우트된 이벤트의 작동 방식에 대한 자세한 내용은 이벤트 및 라우트된 이벤트 개요를 참조하세요. 형식은 RoutedEvent
라우트된 이벤트에 대한 인프라의 일부이지만 일반적인 Windows 런타임 앱 프로그래밍에서는 직접 사용하지 RoutedEvent
않습니다.
형식의 RoutedEvent
목적은 DependencyProperty가 종속성 속성 시스템에 대한 식별자 형식을 제공하는 방법과 유사하게 Windows 런타임 이벤트 시스템의 식별자 역할을 하는 것입니다.
UIElement 에는 명명 패턴을 사용하여 이름이 지정된 형식 RoutedEvent
의 여러 정적 읽기 전용 속성이 포함됩니다. 각 RoutedEvent
속성의 이름은 이벤트와 접미사 "Event"의 이름을 따서 지정됩니다. 이러한 각 속성은 해당 이름으로 시작하는 라우트된 이벤트의 식별자입니다. 예를 들어 TappedEvent는이벤트 시스템에 대한 Tapped 라우트된 이벤트를 식별합니다.
대부분의 앱 코드 사용의 경우 단순히 XAML에서 이름으로 이벤트를 참조하거나 코드의 코드 엔터티 이름으로 이벤트를 참조하는 것은 처리기를 추가하거나 제거하기 위해 개체에서 이벤트를 참조하는 데 필요한 모든 것입니다.
RoutedEvent
식별자는 라우팅된 이벤트가 이전에 시스템 또는 앱 코드에서 처리된 것으로 표시된 경우에도 호출해야 하는 처리기를 연결할 때만 필요합니다. 이 시나리오에 사용하는 API와 값을 매개 변수로 사용하는 RoutedEvent
API는 UIElement.AddHandler 및 UIElement.RemoveHandler입니다. 자세한 내용은 이벤트 및 라우트된 이벤트 개요를 참조하세요.
RoutedEvent 식별자를 사용하는 이벤트
다음은 식별자가 있으므로 설명한 UIElement.AddHandler 기술을 사용할 수 있는 라우트된 이벤트 RoutedEvent
목록입니다.
- DoubleTapped
- DragEnter
- DragLeave
- DragOver
- Drop
- Holding
- KeyDown
- KeyUp
- ManipulationCompleted
- ManipulationDelta
- ManipulationInertiaStarting
- ManipulationStarted
- ManipulationStarting
- PointerCanceled
- PointerCaptureLost
- PointerEntered
- PointerExited
- PointerMoved
- PointerPressed
- PointerReleased
- PointerWheelChanged
- RightTapped
- Tapped
참고
GotFocus 및 LostFocus 는 라우트된 이벤트처럼 작동하지만 식별자가 없 RoutedEvent
으므로 AddHandler 를 사용할 수 없습니다.