Condividi tramite


RoutedEvent Classe

Definizione

Rappresenta un evento indirizzato al sistema di eventi 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
Ereditarietà
Object Platform::Object IInspectable RoutedEvent
Attributi

Requisiti Windows

Famiglia di dispositivi
Windows 10 (è stato introdotto in 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (è stato introdotto in v1.0)

Esempio

In questo esempio viene illustrata la sintassi di base per collegare un gestore eventi con AddHandler e handledEventsToo come true. In questo caso l'evento cablato è Tapped e l'identificatore di tipo RoutedEvent usato nell'esempio è TappedEvent. La posizione tipica dei gestori di fili è Caricata per una pagina o OnApplyTemplate per un controllo modello.

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

Commenti

Nota

Il sistema di eventi Windows Runtime non consente di creare un evento indirizzato personalizzato. Solo il Windows Runtime stesso può definire un evento in modo che abbia il comportamento dell'evento indirizzato.

Per altre informazioni sul funzionamento degli eventi indirizzati, vedere Panoramica degli eventi e degli eventi indirizzati. Il tipo RoutedEvent fa parte dell'infrastruttura per gli eventi indirizzati, ma non si usa RoutedEvent direttamente nella programmazione tipica dell'app Windows Runtime.

Lo scopo del tipo RoutedEvent è quello di fungere da identificatore per il sistema di eventi Windows Runtime, analogamente al modo in cui DependencyProperty fornisce un tipo di identificatore per il sistema delle proprietà di dipendenza. UIElement include diverse proprietà di sola lettura statiche di tipo RoutedEvent, denominate usando un modello di denominazione. Ogni proprietà RoutedEvent è denominata dopo un evento e il suffisso "Event". Ogni proprietà è l'identificatore dell'evento indirizzato che inizia con il nome. Ad esempio, TappedEvent identifica l'evento indirizzato a Tapped al sistema eventi.

Per la maggior parte degli usi del codice dell'app, è sufficiente fare riferimento all'evento in base al nome in XAML o al relativo nome dell'entità di codice nel codice è tutto ciò necessario per fare riferimento a un evento in un oggetto, a scopo di aggiunta o rimozione di gestori. Gli identificatori RoutedEvent sono necessari solo quando si allegano gestori che devono essere richiamati anche quando gli eventi indirizzati vengono contrassegnati in precedenza come gestiti dal sistema o dal codice dell'app. L'API usata per questo scenario e l'API che usa un valore RoutedEvent come parametro, sono UIElement.AddHandler e UIElement.RemoveHandler. Per altre informazioni, vedi Panoramica degli eventi e degli eventi indirizzati.

Eventi che usano un identificatore RoutedEvent

Ecco un elenco degli eventi indirizzati che hanno un identificatore RoutedEvent e quindi possono usare la tecnica UIElement.AddHandler descritta:

Nota

GotFocus e LostFocus agiscono come eventi indirizzati, ma non hanno un identificatore RoutedEvent, quindi non è possibile usare AddHandler con loro.

Si applica a

Vedi anche