RoutedEventArgs.OriginalSource Proprietà
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Ottiene un riferimento all'oggetto che ha generato l'evento. Si tratta spesso di una parte di modello di un controllo anziché di un elemento dichiarato nell'interfaccia utente dell'app.
public:
property Platform::Object ^ OriginalSource { Platform::Object ^ get(); };
IInspectable OriginalSource();
public object OriginalSource { get; }
var object = routedEventArgs.originalSource;
Public ReadOnly Property OriginalSource As Object
Valore della proprietà
Oggetto che ha generato l'evento.
Commenti
Quando un evento indirizzato aumenta una route di eventi, sender non è più lo stesso oggetto dell'oggetto che genera eventi. È invece sender l'oggetto in cui è associato il gestore richiamato.
In alcuni casi, sender non è interessante e si è invece interessati a informazioni come quale dei possibili oggetti figlio il puntatore si trova quando viene generato un evento puntatore o quale oggetto in un'interfaccia utente più grande ha mantenuto lo stato attivo quando un utente ha premuto un tasto di tastiera. Per questi casi, è possibile usare il valore della OriginalSource proprietà . In tutti i punti della route, OriginalSource segnala l'oggetto originale che ha generato l'evento, anziché l'oggetto in cui è associato il gestore. Tuttavia, per gli eventi di input UIElement , l'oggetto originale è spesso un oggetto che non è immediatamente visibile nel codice XAML della definizione dell'interfaccia utente a livello di pagina. L'oggetto di origine originale potrebbe invece essere una parte di un controllo basato su modelli. Ad esempio, se l'utente passa il puntatore sul bordo stesso di un pulsante, per la maggior parte degli eventi puntatore è OriginalSource una parte del modello Border nel modello, non il pulsante stesso. Pertanto, non puoi sempre fare affidamento sulla OriginalSource rappresentazione di un oggetto dichiarato in modo specifico nelle definizioni dell'interfaccia utente a livello di pagina XAML.
Tip
Il bubbling dell'evento di input è particolarmente utile se si sta creando un controllo basato su modelli. Qualsiasi controllo che abbia un modello può avere un nuovo modello applicato dall'utente. Il consumer che sta tentando di ricreare un modello di lavoro potrebbe eliminare involontariamente alcune operazioni di gestione degli eventi dichiarate nel modello predefinito. È comunque possibile fornire la gestione degli eventi a livello di controllo collegando i gestori come parte dell'override OnApplyTemplate nella definizione della classe. Puoi quindi rilevare gli eventi di input che salgono fino alla radice del controllo all'istanza.