RoutedEvent Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Representa un evento enrutado al sistema de eventos Windows Runtime.
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
- Herencia
- Atributos
Ejemplos
En este ejemplo se muestra la sintaxis básica para conectar un controlador de eventos con AddHandler y handledEventsToo como true
. En este caso, el evento que se está conectando es Tapped y el RoutedEvent
identificador -type usado en el ejemplo es TappedEvent. El lugar típico para conectar controladores es Cargado para una página o OnApplyTemplate para un control con plantilla.
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);
}
Comentarios
Nota
El sistema de eventos Windows Runtime no permite crear un evento enrutado personalizado; solo el Windows Runtime puede definir un evento de forma que tenga el comportamiento del evento enrutado.
Para obtener más información sobre cómo funcionan los eventos enrutados, consulta Información general sobre eventos y eventos enrutados. El RoutedEvent
tipo forma parte de la infraestructura de los eventos enrutados, pero no se usa RoutedEvent
directamente en la programación típica de aplicaciones Windows Runtime.
El propósito del RoutedEvent
tipo es servir como identificador para el sistema de eventos de Windows Runtime, de forma similar a la forma en que DependencyProperty proporciona un tipo de identificador para el sistema de propiedades de dependencia.
UIElement incluye varias propiedades estáticas de solo lectura de tipo RoutedEvent
, que se denominan mediante un patrón de nomenclatura. Cada RoutedEvent
propiedad se denomina después de un evento más el sufijo "Event". Cada propiedad de este tipo es el identificador del evento enrutado con el que comienza su nombre. Por ejemplo, TappedEvent identifica el evento enrutado Tapped al sistema de eventos.
Para la mayoría de los usos de código de aplicación, simplemente hacer referencia al evento por nombre en XAML o por su nombre de entidad de código en el código es todo lo necesario para hacer referencia a un evento en un objeto, con el fin de agregar o quitar controladores. Los RoutedEvent
identificadores solo son necesarios cuando se adjuntan controladores que se deben invocar incluso cuando los eventos enrutados se marcan previamente como controlados por el código del sistema o de la aplicación. La API que se usa para este escenario y la API que usa un RoutedEvent
valor como parámetro son UIElement.AddHandler y UIElement.RemoveHandler. Para obtener más información, consulta Introducción a eventos y eventos enrutados.
Eventos que usan un identificador RoutedEvent
Esta es una lista de los eventos enrutados que tienen un RoutedEvent
identificador y, por tanto, puede usar la técnica UIElement.AddHandler que describimos:
- DoubleTapped
- DragEnter
- DragLeave
- DragOver
- Soltar
- Holding
- KeyDown
- KeyUp
- ManipulationCompleted
- ManipulationDelta
- ManipulationInertiaStarting
- ManipulationStarted
- ManipulationStarting
- PointerCanceled
- PointerCaptureLost
- PointerEntered
- PointerExited
- PointerMoved
- PointerPressed
- PointerReleased
- PointerWheelChanged
- RightTapped
- Tapped
Nota
GotFocus y LostFocus actúan como eventos enrutados, pero no tienen un RoutedEvent
identificador, por lo que no puede usar AddHandler con ellos.