FrameworkPropertyMetadata.AffectsMeasure Properti

Definisi

Mendapatkan atau menetapkan nilai yang menunjukkan apakah properti dependensi berpotensi memengaruhi pass pengukuran selama operasi mesin tata letak.

public:
 property bool AffectsMeasure { bool get(); void set(bool value); };
public bool AffectsMeasure { get; set; }
member this.AffectsMeasure : bool with get, set
Public Property AffectsMeasure As Boolean

Nilai Properti

true jika properti dependensi tempat metadata ini ada berpotensi memengaruhi pass pengukuran; jika tidak, false. Defaultnya adalah false.

Pengecualian

Metadata telah diterapkan ke operasi properti dependensi, sehingga metadata disegel dan properti metadata tidak dapat diatur.

Contoh

Contoh berikut mendapatkan metadata default dari berbagai bidang properti dependensi, meminta nilai berbagai FrameworkPropertyMetadata properti di dalamnya, dan menggunakan informasi untuk mengisi tabel untuk menerapkan "browser metadata".

pm = dp.GetMetadata(dp.OwnerType);
pm = dp.GetMetadata(dp.OwnerType)
FrameworkPropertyMetadata fpm = pm as FrameworkPropertyMetadata;
if (fpm!=null) {
    AffectsArrange.Text = (fpm.AffectsArrange) ? "Yes" : "No";
    AffectsMeasure.Text = (fpm.AffectsMeasure) ? "Yes" : "No";
    AffectsRender.Text = (fpm.AffectsRender) ? "Yes" : "No";
    Inherits.Text = (fpm.Inherits) ? "Yes" : "No";
    IsDataBindingAllowed.Text = (fpm.IsDataBindingAllowed) ? "Yes" : "No";
    BindsTwoWayByDefault.Text = (fpm.BindsTwoWayByDefault) ? "Yes" : "No";
}
Dim fpm As FrameworkPropertyMetadata = TryCast(pm, FrameworkPropertyMetadata)
If fpm IsNot Nothing Then
    AffectsArrange.Text = If((fpm.AffectsArrange), "Yes", "No")
    AffectsMeasure.Text = If((fpm.AffectsMeasure), "Yes", "No")
    AffectsRender.Text = If((fpm.AffectsRender), "Yes", "No")
        [Inherits].Text = If((fpm.Inherits), "Yes", "No")
    IsDataBindingAllowed.Text = If((fpm.IsDataBindingAllowed), "Yes", "No")
    BindsTwoWayByDefault.Text = If((fpm.BindsTwoWayByDefault), "Yes", "No")

Keterangan

FrameworkElement dan FrameworkContentElement menyertakan implementasi OnPropertyChanged yang memantau perubahan nilai efektif pada semua properti dependensi yang ada pada elemen. Sebagai bagian dari logika tersebut, properti dependensi yang mengubah nilai efektif dan memiliki metadata dengan AffectsMeasure diatur ke true akan memulai permintaan yang ditangguhkan untuk membatalkan visual untuk elemen tersebut. Karena implementasi tingkat kerangka kerja WPF ini sudah ada, Anda biasanya tidak perlu mencari properti dependensi kecuali AffectsMeasure Anda mengganti atau memodifikasi perilaku tata letak tingkat kerangka kerja WPF secara substansial.

Implementasi kustom OnPropertyChanged mungkin memilih untuk memiliki perilaku serupa untuk perubahan properti dependensi di mana AffectsMeasure adalah true.

Properti pada kelas turunan PropertyMetadata biasanya didefinisikan dalam model objek sebagai baca-tulis. Hal ini agar dapat disesuaikan setelah inisialisasi instans. Namun, setelah metadata digunakan sebagai bagian dari panggilan ke Register, , AddOwneratau OverrideMetadata, sistem properti akan menyegel instans metadata dan properti yang menyampaikan spesifikasi metadata sekarang dianggap tidak dapat diubah. Mencoba mengatur properti ini setelah IsSealed ada true pada instans metadata ini akan menimbulkan pengecualian.

Penggunaan Teks XAML

Anggota kelas ini biasanya tidak digunakan dalam XAML.

Berlaku untuk

Lihat juga