Share via


FrameworkElement.LayoutUpdated Kejadian

Definisi

Terjadi ketika tata letak pohon visual berubah, karena properti yang relevan dengan tata letak mengubah nilai atau beberapa tindakan lain yang menyegarkan tata letak.

// Register
event_token LayoutUpdated(EventHandler<IInspectable> const& handler) const;

// Revoke with event_token
void LayoutUpdated(event_token const* cookie) const;

// Revoke with event_revoker
FrameworkElement::LayoutUpdated_revoker LayoutUpdated(auto_revoke_t, EventHandler<IInspectable> const& handler) const;
public event System.EventHandler<object> LayoutUpdated;
function onLayoutUpdated(eventArgs) { /* Your code */ }
frameworkElement.addEventListener("layoutupdated", onLayoutUpdated);
frameworkElement.removeEventListener("layoutupdated", onLayoutUpdated);
- or -
frameworkElement.onlayoutupdated = onLayoutUpdated;
Public Custom Event LayoutUpdated As EventHandler(Of Object) 
<frameworkElement LayoutUpdated="eventhandler"/>
 

Jenis Acara

Keterangan

LayoutUpdated adalah peristiwa seumur hidup objek terakhir yang terjadi dalam urutan beban XAML sebelum kontrol siap untuk interaksi. Namun, LayoutUpdated juga dapat terjadi pada durasi selama masa pakai objek, karena berbagai alasan: perubahan properti, perubahan ukuran jendela, atau permintaan tata letak runtime (UpdateLayout atau templat kontrol yang diubah). Peristiwa LayoutUpdated diaktifkan setelah semua peristiwa SizeChanged dalam urutan tata letak terjadi.

LayoutUpdated dapat terjadi ketika objek tempat handler terpasang tidak selalu mengubah apa pun di pohon visual di bawahnya. Misalnya, bayangkan kontainer tata letak di mana ada dua elemen anak yang berbagi ruang. Jika objek pertama mengubah properti yang memaksa tata letak baru, kedua objek mengaktifkan LayoutUpdated karena objek kedua mungkin diposisikan ulang meskipun tata letak anak perusahaannya sendiri tidak berubah.

Saat Anda menangani LayoutUpdated, jangan mengandalkan nilai pengirim . Untuk LayoutUpdated, pengirim selalu null, terlepas dari di mana handler dilampirkan. Hal ini untuk mencegah penangan menetapkan arti apa pun kepada pengirim, seperti menyiratkan bahwa itu adalah elemen tertentu yang menembakkan peristiwa keluar dari pohon visual. LayoutUpdated menyiratkan bahwa sesuatu di pohon visual keseluruhan telah berubah, dan setiap objek tertentu di mana saja di pohon memiliki opsi untuk menangani kejadian ini. Jika Anda terbiasa dengan desain API render tingkat bawah, Anda dapat sama-sama LayoutUpdated diaktifkan seperti bendera "redraw needed" yang diatur sebagai bagian dari logika penyajian mode yang digerakkan objek dan dipertahankan.

Karena LayoutUpdated diaktifkan dalam banyak keadaan dan tidak selalu spesifik untuk objek yang benar-benar berubah, pertimbangkan apakah menangani peristiwa SizeChanged sebagai gantinya lebih sesuai untuk skenario Anda.

Berlaku untuk

Lihat juga