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 和 handledEventsToo 作為 true
連接事件處理常式的基本語法。 在此情況下,正在有線的事件是 Tapped,而 RoutedEvent
範例中使用的類型識別碼是 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
要作為Windows 執行階段事件系統的識別碼,類似于DependencyProperty如何提供相依性屬性系統的識別碼類型。
UIElement 包含數個類型 RoutedEvent
為 的靜態唯讀屬性,這些屬性是使用命名模式來命名。 每個 RoutedEvent
屬性都會以事件加上尾碼 「Event」 來命名。 每個這類屬性都是其名稱開頭之路由事件的識別碼。 例如, TappedEvent 會將 Tapped 路由事件識別到事件系統。
對於大部分的應用程式程式碼使用方式,只要以 XAML 中的名稱或程式碼機構名稱來參考事件,就只需要在物件上參考事件,即可加入或移除處理常式。
RoutedEvent
只有在附加應該叫用的處理常式時,即使路由事件先前標示為由系統或應用程式程式碼處理,仍需要識別碼。 您用於此案例的 API,以及使用 RoutedEvent
值做為參數的 API 是 UIElement.AddHandler 和 UIElement.RemoveHandler。 如需詳細資訊,請參閱事件與路由事件概觀。
使用 RoutedEvent 識別碼的事件
以下是具有 RoutedEvent
識別碼的路由事件清單,因此可以使用我們描述的 UIElement.AddHandler 技術:
- DoubleTapped
- DragEnter
- DragLeave
- DragOver
- 下降
- Holding
- KeyDown
- KeyUp
- ManipulationCompleted
- ManipulationDelta
- ManipulationInertiaStarting
- ManipulationStarted
- ManipulationStarting
- PointerCanceled
- PointerCaptureLost
- PointerEntered
- PointerExited
- PointerMoved
- PointerPressed
- PointerReleased
- PointerWheelChanged
- RightTapped
- Tapped
注意
GotFocus 和 LostFocus 的作用就像路由事件,但沒有 RoutedEvent
識別碼,因此您無法搭配使用 AddHandler 。