Partilhar via


RoutedEvent Classe

Definição

Representa um evento roteado para o sistema de eventos Windows Runtime.

public ref class RoutedEvent sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class RoutedEvent final
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class RoutedEvent final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class RoutedEvent
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class RoutedEvent
Public NotInheritable Class RoutedEvent
Herança
Object Platform::Object IInspectable RoutedEvent
Atributos

Requisitos do Windows

Família de dispositivos
Windows 10 (introduzida na 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (introduzida na v1.0)

Exemplos

Este exemplo mostra a sintaxe básica para conectar um manipulador de eventos com AddHandler e handledEventsToo como true. Nesse caso, o evento que está sendo conectado é Tocado e o identificador do tipo RoutedEvent usado no exemplo é TappedEvent. O local típico para manipuladores de fio é Carregado para uma página ou OnApplyTemplate para um controle modelo.

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);
}
Private Sub Page_Tapped(sender As Object, e As TappedRoutedEventArgs)
    ' implementation
End Sub
Private Sub Page_Loaded_1(sender As Object, e As RoutedEventArgs)
    Me.AddHandler(UIElement.TappedEvent, New TappedEventHandler(AddressOf Page_Tapped), True)
End Sub

Comentários

Observação

O sistema de eventos Windows Runtime não permite que você crie um evento roteado personalizado; somente o próprio Windows Runtime pode definir um evento de modo que ele tenha o comportamento do evento roteado.

Para obter mais informações sobre como os eventos roteado funcionam, consulte Visão geral de eventos e eventos roteado. O tipo RoutedEvent faz parte da infraestrutura para eventos roteados, mas você não usa RoutedEvent diretamente na programação típica do aplicativo Windows Runtime.

A finalidade do tipo RoutedEvent é servir como um identificador para o sistema de eventos Windows Runtime, semelhante a como DependencyProperty fornece um tipo de identificador para o sistema de propriedades de dependência. UIElement inclui várias propriedades estáticas somente leitura do tipo RoutedEvent, que são nomeadas usando um padrão de nomenclatura. Cada propriedade RoutedEvent é nomeada após um evento mais o sufixo "Event". Cada propriedade desse tipo é o identificador do evento roteado com o qual seu nome começa. Por exemplo, TappedEvent identifica o evento roteado tocado para o sistema de eventos.

Para a maioria dos usos de código de aplicativo, simplesmente referenciar o evento pelo nome em XAML ou pelo nome da entidade de código no código é tudo o que é necessário para referenciar um evento em um objeto, para fins de adicionar ou remover manipuladores. Os identificadores RoutedEvent só são necessários quando você anexa manipuladores que devem ser invocados mesmo quando os eventos roteados são marcados anteriormente como manipulados pelo código do sistema ou do aplicativo. A API usada para esse cenário e a API que usam um valor RoutedEvent como parâmetro são UIElement.AddHandler e UIElement.RemoveHandler. Para saber mais, confira Visão geral de eventos e eventos roteados.

Eventos que usam um identificador RoutedEvent

Aqui está uma lista dos eventos roteados que têm um identificador RoutedEvent e, portanto, podem usar a técnica UIElement.AddHandler que descrevemos:

Observação

GotFocus e LostFocus agem como eventos roteados, mas não têm um identificador RoutedEvent, portanto, você não pode usar AddHandler com eles.

Aplica-se a

Confira também