UIElement.UpdateLayout Metode

Definisi

Memastikan bahwa semua posisi objek anak UIElement diperbarui dengan benar untuk tata letak.

public:
 virtual void UpdateLayout() = UpdateLayout;
void UpdateLayout();
public void UpdateLayout();
function updateLayout()
Public Sub UpdateLayout ()

Keterangan

UpdateLayout pada dasarnya setara dengan memanggil InvalidateMeasure dan InvalidateArrange secara berurutan.

Pembaruan tata letak dapat dipaksa oleh kode aplikasi daripada mengandalkan perilaku sistem tata letak bawaan dengan menggunakan metode UpdateLayout. Namun, itu umumnya tidak disarankan. Biasanya tidak perlu dan dapat menyebabkan performa yang buruk jika digunakan secara berlebihan. Dalam banyak situasi di mana memanggil UpdateLayout dari kode aplikasi mungkin sesuai karena perubahan pada properti, sistem tata letak mungkin sudah memproses pembaruan. Sistem tata letak juga memiliki pengoptimalan untuk menangani perubahan tata letak kaskade melalui hubungan induk-anak, dan memanggil UpdateLayout dapat bekerja melawan pengoptimalan tersebut. Namun demikian, ada kemungkinan bahwa situasi tata letak ada dalam skenario yang lebih rumit di mana memanggil UpdateLayout adalah opsi terbaik untuk menyelesaikan masalah waktu atau masalah lain dengan tata letak. Cukup gunakan dengan sengaja dan hemat. Dalam kasus di mana Anda perlu memanggil UpdateLayout, Anda mungkin akan memanggilnya tepat setelah memanggil Children.Add beberapa kumpulan elemen anak dari induk tata letak umum, lalu memanggil UpdateLayout pada induk tersebut untuk membuat sistem tata letak mengenali anak baru yang ditambahkan.

Salah satu skenario untuk UpdateLayout adalah ketika Anda telah menautkan kontainer seperti RichTextBlock dan RichTextBlockOverflow, Anda telah membuat perubahan run-time pada konten, dan Anda ingin memastikan bahwa operasi yang tidak terkait secara khusus untuk menampilkan UI memiliki kesempatan untuk menjalankan tata letak dan memicu penyeimbangan ulang konten antara kontainer yang ditautkan. Misalnya, Anda mungkin ingin melakukan ini untuk menyiapkan tata letak untuk pencetakan. Untuk contoh skenario ini, lihat skenario #5 dalam Sampel cetak.

Tip

Jika Anda memiliki skenario di mana Anda menggunakan pengikatan data ke UI dan Anda tidak melihat tata letak mencerminkan pembaruan dalam koleksi sumber data Anda, memanggil UpdateLayout mungkin tidak akan membantu. Kemungkinan besar Anda memiliki masalah dengan deklarasi pengikatan, konteks data, atau dengan dukungan INotifyPropertyChanged atau INotifyCollectionChanged di sumber data Anda.

Berlaku untuk

Lihat juga