FrameworkPropertyMetadata.AffectsArrange Özellik
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Bir bağımlılık özelliğinin düzen altyapısı işlemleri sırasında düzenleme geçişini etkileyip etkilemeyebileceğine ilişkin bir değer alır veya ayarlar.
public:
property bool AffectsArrange { bool get(); void set(bool value); };
public bool AffectsArrange { get; set; }
member this.AffectsArrange : bool with get, set
Public Property AffectsArrange As Boolean
Özellik Değeri
true
bu meta verilerin bulunduğu bağımlılık özelliği düzenleme geçişini etkileyebilir; aksi takdirde , false
. Varsayılan değer: false
.
Özel durumlar
Meta veriler bir bağımlılık özelliği işlemine zaten uygulanmış, böylece meta veriler korumalıdır ve meta verilerin özellikleri ayarlanamaz.
Örnekler
Aşağıdaki örnek, çeşitli bağımlılık özelliği alanlarından varsayılan meta verileri alır, üzerindeki çeşitli FrameworkPropertyMetadata özelliklerin değerini sorgular ve "meta veri tarayıcısı" uygulamak için bir tabloyu doldurmak için bu bilgileri kullanır.
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")
Açıklamalar
FrameworkElement ve FrameworkContentElement bir öğede var olan tüm bağımlılık özelliklerinde etkin değer değişikliklerini izleyen bir uygulamasını OnPropertyChanged ekleyin. Bu mantığın bir parçası olarak, etkin değeri değiştiren ve ayarlanmış meta verileri AffectsArrange olan bağımlılık özellikleri, bu öğenin görsellerini geçersiz hale getirmek için ertelenen bir istek başlatır (çağrısıInvalidateArrange).true
Bu WPF çerçeve düzeyi uygulaması zaten mevcut olduğundan, WPF çerçeve düzeyi düzen davranışını önemli ölçüde değiştirmediğiniz veya değiştirmediğiniz sürece ile bağımlılık özelliklerini AffectsArrange aramanız gerekmez.
Özel OnPropertyChanged uygulamalar, bağımlılık özelliği değişikliklerinde olduğu gibi AffectsArrangetrue
benzer davranışlar elde etmeyi seçebilir.
türetilmiş sınıflarındaki PropertyMetadata özellikler genellikle nesne modelinde okuma-yazma olarak tanımlanır. Bu, örneğin başlatılmasından sonra ayarlanabilmeleri için geçerlidir. Ancak, meta veriler , AddOwnerveya OverrideMetadataçağrısının Registerbir parçası olarak tüketildikten sonra, özellik sistemi meta verilerin özelliklerini ileten meta veri örneğini ve özelliklerini artık sabit olarak kabul eder. Bu meta veri örneğinde olduktan true
sonra IsSealed bu özelliği ayarlamaya çalışmak bir özel durum oluşturur.
XAML Metni Kullanımı
Bu sınıfın üyeleri genellikle XAML'de kullanılmaz.