FrameworkPropertyMetadata.AffectsRender Özellik

Tanım

Bir bağımlılık özelliğinin, özel olarak düzenleme veya ölçümü etkilemediğinden, ancak yeniden çizim gerektirmeksizin genel düzeni potansiyel olarak etkileyip etkilemediğini gösteren bir değer alır veya ayarlar.Gets or sets a value that indicates whether a dependency property potentially affects the general layout in some way that does not specifically influence arrangement or measurement, but would require a redraw.

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 mevcut olduğu bağımlılık özelliği işlemeyi etkiler; Aksi takdirde, false .true if the dependency property on which this metadata exists affects rendering; otherwise, false. Varsayılan değer: false.The default is false.

Özel durumlar

Meta veriler bir bağımlılık özelliği işlemine zaten uygulandı, bu nedenle meta verilerin mühürlenmesi ve meta verilerin özellikleri ayarlanamaz.The metadata has already been applied to a dependency property operation, so that metadata is sealed and properties of the metadata cannot be set.

Örnekler

Aşağıdaki örnek, çeşitli bağımlılık özelliği alanlarından varsayılan meta verileri alır, üzerinde çeşitli özelliklerin değerlerini sorgular FrameworkPropertyMetadata ve bir tabloyu bir "meta veri tarayıcısı" uygulamak üzere doldurmak için bu bilgileri kullanır.The following example obtains the default metadata from various dependency property fields, queries the value of various FrameworkPropertyMetadata properties on it, and uses the information to populate a table to implement a "metadata browser".

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 , OnPropertyChanged etkin değer değişikliklerinin bir öğe üzerinde mevcut olan tüm bağımlılık özelliklerine göre izleyicilerini içerir.FrameworkElement and FrameworkContentElement include an implementation of OnPropertyChanged that monitors effective value changes to all dependency properties that exist on an element. Bu mantığın bir parçası olarak, etkin değeri değiştiren ve meta verisi olan bağımlılık özellikleri, AffectsRender true Bu öğenin görsellerini geçersiz kılmak için ertelenmiş bir istek başlatacak.As part of that logic, dependency properties that change effective value and have metadata with AffectsRender set to true will initiate a deferred request to invalidate the visuals for that element. Bu WPF framework düzeyi uygulama zaten mevcut olduğundan, AffectsRender WPF framework düzeyi düzen davranışını önemli ölçüde değiştirmediğiniz veya değiştirmediğiniz müddetçe genellikle bağımlılık özelliklerini aramanız gerekmez.Because this WPF framework-level implementation is already in place, you typically do not need to look for dependency properties with AffectsRender unless you are substantially replacing or modifying the WPF framework-level layout behavior.

Özel OnPropertyChanged uygulamalar, olduğu durumlarda bağımlılık özelliği değişiklikleri için benzer davranışları tercih edebilir AffectsRender true .Custom OnPropertyChanged implementations might choose to have similar behavior for dependency property changes where AffectsRender is true.

Türetilmiş sınıflarının tüm özellikleri PropertyMetadata , genellikle nesne modelinde okuma-yazma olarak tanımlanır.Properties on any derived classes of PropertyMetadata are typically defined in the object model as read-write. Bu, örneğin başlatıldıktan sonra ayarlanabilmesi için.This is so they can be adjusted after initialization of the instance. Ancak,, veya ' a yapılan çağrının bir parçası olarak meta veriler tüketildikten sonra özellik sistemi, meta verilerin Register AddOwner OverrideMetadata özelliklerini ileten meta veri örneğinin ve özelliklerinin artık sabit olarak kabul edileceği şekilde mühürlendirilecektir.However, after the metadata is consumed as part of a call to Register, AddOwner, or OverrideMetadata, the property system will seal that metadata instance and properties that convey the specifics of the metadata are now considered immutable. Bu meta veri örneğinde olduktan sonra bu özelliği ayarlamaya çalışmak IsSealed true bir özel durum oluşturacak.Attempting to set this property after IsSealed is true on this metadata instance will raise an exception.

XAML Metni KullanımıXAML Text Usage

Bu sınıfın üyeleri ' de genellikle kullanılmaz XAMLXAML .Members of this class are not typically used in XAMLXAML.

Şunlara uygulanır

Ayrıca bkz.