UIElement.Measure(Size) Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
DesiredSize Memperbarui dari UIElement. Elemen induk memanggil metode ini dari implementasi mereka sendiri MeasureCore(Size) untuk membentuk pembaruan tata letak rekursif. Memanggil metode ini merupakan pass pertama (pass "Pengukuran" dari pembaruan tata letak.
public:
void Measure(System::Windows::Size availableSize);
public void Measure(System.Windows.Size availableSize);
member this.Measure : System.Windows.Size -> unit
Public Sub Measure (availableSize As Size)
Parameter
- availableSize
- Size
Ruang yang tersedia yang dapat dialokasikan elemen induk untuk elemen turunan. Elemen turunan dapat meminta ruang yang lebih besar dari yang tersedia; ukuran yang disediakan mungkin diakomodasi jika pengguliran dimungkinkan dalam model konten untuk elemen saat ini.
Keterangan
Komputasi penempatan tata letak di Windows Presentation Foundation (WPF) terdiri dari Measure panggilan dan Arrange panggilan.
Measure Selama panggilan, elemen menentukan persyaratan ukurannya dengan menggunakan availableSize input.
Arrange Selama panggilan, ukuran elemen diselesaikan.
availableSize dapat berupa angka apa pun dari nol hingga tak terbatas. Elemen yang berpartisipasi dalam tata letak harus mengembalikan minimum Size yang mereka butuhkan untuk .availableSize
Ketika tata letak pertama kali dibuat, tata letak selalu menerima Measure panggilan sebelum Arrange. Namun, setelah kode tata letak pertama, ia mungkin menerima Arrange panggilan tanpa Measure; ini dapat terjadi ketika properti yang hanya Arrange memengaruhi diubah (seperti perataan), atau ketika induk menerima Arrange tanpa Measure. Panggilan Measure akan secara otomatis membatalkan Arrange panggilan.
Pembaruan tata letak terjadi secara asinkron, sehingga utas utama tidak menunggu setiap kemungkinan perubahan tata letak. Mengkueri elemen melalui pemeriksaan kode di belakang nilai properti mungkin tidak segera mencerminkan perubahan pada properti yang berinteraksi dengan karakteristik ukuran atau tata letak ( Width properti , misalnya).
Nota
Pembaruan tata letak dapat dipaksa dengan menggunakan UpdateLayout metode . Namun, memanggil metode ini biasanya tidak perlu dan dapat menyebabkan performa yang buruk.
Sistem tata letak menyimpan dua antrean terpisah dari tata letak yang tidak valid, satu untuk Measure dan satu untuk Arrange. Antrean tata letak diurutkan berdasarkan urutan elemen di pohon visual elemen yang melakukan tata letak; elemen yang lebih tinggi di pohon berada di bagian atas antrean, untuk menghindari tata letak redundan yang disebabkan oleh perubahan berulang pada orang tua. Entri duplikat secara otomatis dihapus dari antrean, dan elemen secara otomatis dihapus dari antrean jika sudah divalidasi tata letak.
Saat memperbarui tata letak, Measure antrean dikosongkan terlebih dahulu, diikuti oleh Arrange antrean. Elemen dalam antrean Arrange tidak akan pernah diatur jika ada elemen dalam Measure antrean.