Bagikan melalui


RoutedEventArgs.OriginalSource Properti

Definisi

Mendapatkan referensi ke objek yang menaikkan peristiwa. Ini sering menjadi bagian templat dari kontrol daripada elemen yang dideklarasikan di antarmuka pengguna aplikasi Anda.

public:
 property Platform::Object ^ OriginalSource { Platform::Object ^ get(); };
IInspectable OriginalSource();
public object OriginalSource { get; }
var object = routedEventArgs.originalSource;
Public ReadOnly Property OriginalSource As Object

Nilai Properti

Object

Platform::Object

IInspectable

Objek yang menaikkan peristiwa.

Keterangan

Saat peristiwa yang dirutekan menggelembungkan rute peristiwa, sender tidak lagi merupakan objek yang sama dengan objek penggalangan peristiwa. Sebaliknya, sender adalah objek tempat handler yang sedang dipanggil terpasang.

Dalam beberapa kasus, sender tidak menarik, dan Anda malah tertarik pada info seperti objek anak mana yang mungkin penunjuk berakhir ketika peristiwa pointer diaktifkan, atau objek mana dalam UI yang lebih besar yang memegang fokus saat pengguna menekan tombol keyboard. Untuk kasus ini, Anda dapat menggunakan nilai OriginalSource properti . Di semua titik rute, OriginalSource melaporkan objek asli yang menembakkan peristiwa, bukan objek tempat handler dilampirkan. Namun, untuk peristiwa input UIElement , objek asli tersebut sering kali merupakan objek yang tidak segera terlihat dalam definisi UI tingkat halaman XAML. Sebaliknya, objek sumber asli tersebut mungkin merupakan bagian dari kontrol yang ditemplak. Misalnya, jika pengguna mengarahkan penunjuk ke tepi paling atas Tombol, untuk sebagian besar peristiwa OriginalSource penunjuk, adalah bagian templat Batas dalam Templat, bukan Tombol itu sendiri. Oleh karena itu, Anda tidak selalu dapat mengandalkan OriginalSource mewakili objek yang Anda deklarasikan secara khusus dalam definisi UI tingkat halaman XAML Anda.

Tip

Peristiwa input menggelembung sangat berguna jika Anda membuat kontrol templat. Kontrol apa pun yang memiliki templat dapat memiliki templat baru yang diterapkan oleh konsumennya. Konsumen yang mencoba membuat ulang templat kerja mungkin secara tidak sengaja menghilangkan beberapa penanganan peristiwa yang dideklarasikan dalam templat default. Anda masih dapat memberikan penanganan peristiwa tingkat kontrol dengan melampirkan handler sebagai bagian dari penimpaan OnApplyTemplate dalam definisi kelas. Kemudian Anda dapat menangkap peristiwa input yang menggelembung hingga akar kontrol pada instantiasi.

Berlaku untuk

Lihat juga