Aracılığıyla paylaş


FrameworkPropertyMetadata.AffectsRender Özellik

Tanım

Bağımlılık özelliğinin düzenlemeyi veya ölçümü özel olarak etkilemeyecek, ancak yeniden çizilme gerektirecek bir şekilde genel düzeni etkileyip etkilemeyeceğini belirten bir değer alır veya ayarlar.

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

Özellik Değeri

Boolean

true bu meta verilerin bulunduğu bağımlılık özelliği işlemeyi etkiliyorsa; aksi takdirde , false. Varsayılan değer: false.

Özel durumlar

Meta veriler zaten bir bağımlılık özelliği işlemine uygulanmıştır, 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 üzere bir tabloyu doldurmak için 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, geçerli değeri değiştiren ve meta verileri AffectsRender ayarlanmış true olan bağımlılık özellikleri, bu öğenin görsellerini geçersiz kılmaya yönelik ertelenen bir istek başlatır. 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 AffectsRender aramanız gerekmez.

Özel OnPropertyChanged uygulamalar, bağımlılık özelliği değişikliklerinde de benzer davranışlar elde etmeyi seçebilir.AffectsRender true

Türetilmiş sınıflardaki 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 veri örneğini ve meta verilerin özelliklerini aktaran özellikleri artık sabit olarak kabul edilir. Bu özelliği bu meta veri örneğinde olduktan true sonra IsSealed ayarlamaya çalışmak bir özel durum oluşturur.

XAML Metni Kullanımı

Bu sınıfın üyeleri genellikle XAML'de kullanılmaz.

Şunlara uygulanır

Ayrıca bkz.