FrameworkPropertyMetadata.AffectsRender Proprietà

Definizione

Ottiene o imposta un valore che indica se una proprietà di dipendenza può avere potenzialmente effetto sul layout generale, in un modo che non influenza in modo specifico la disposizione o la misurazione, ma che richiederebbe un nuovo disegno.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

Valore della proprietà

true se la proprietà di dipendenza in cui si trovano questi metadati può influire sul rendering. In caso contrario, false.true if the dependency property on which this metadata exists affects rendering; otherwise, false. Il valore predefinito è false.The default is false.

Eccezioni

Poiché sono già stati applicati a un'operazione della proprietà di dipendenza, questi metadati sono sealed e non è possibile impostarne le proprietà.The metadata has already been applied to a dependency property operation, so that metadata is sealed and properties of the metadata cannot be set.

Esempi

Nell'esempio seguente vengono ottenuti i metadati predefiniti da vari campi delle proprietà di dipendenza, viene eseguita FrameworkPropertyMetadata una query sul valore di varie proprietà e vengono utilizzate le informazioni per popolare una tabella per implementare un "browser dei metadati".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")

Commenti

FrameworkElemente FrameworkContentElement includono un'implementazione di OnPropertyChanged che monitora le modifiche effettive ai valori di tutte le proprietà di dipendenza presenti in un elemento.FrameworkElement and FrameworkContentElement include an implementation of OnPropertyChanged that monitors effective value changes to all dependency properties that exist on an element. Come parte di tale logica, le proprietà di dipendenza che modificano il valore effettivo AffectsRender e hanno true metadati con impostato su avvierà una richiesta posticipata per invalidare gli oggetti visivi per quell'elemento.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. Poiché questa implementazione a livello di Framework WPF è già presente, in genere non è necessario cercare le proprietà di dipendenza con AffectsRender a meno che non si stia sostanzialmente sostituendo o modificando il comportamento del layout a livello di Framework WPF.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.

Le OnPropertyChanged implementazioni personalizzate possono scegliere di avere un comportamento simile per le modifiche AffectsRender alle trueproprietà di dipendenza in cui è.Custom OnPropertyChanged implementations might choose to have similar behavior for dependency property changes where AffectsRender is true.

Le proprietà di tutte le classi PropertyMetadata derivate di vengono in genere definite nel modello a oggetti come di lettura/scrittura.Properties on any derived classes of PropertyMetadata are typically defined in the object model as read-write. In modo che possano essere modificate dopo l'inizializzazione dell'istanza.This is so they can be adjusted after initialization of the instance. Tuttavia, dopo che i metadati sono stati utilizzati come parte di una Registerchiamata AddOwnera, OverrideMetadatao, il sistema di proprietà sigillerà l'istanza di metadati e le proprietà che comunicano le specifiche dei metadati sono ora considerate non modificabili.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. Se si tenta di impostare questa proprietà IsSealed dopo true che è in questa istanza di metadati, verrà generata un'eccezione.Attempting to set this property after IsSealed is true on this metadata instance will raise an exception.

Utilizzo del testo XAMLXAML Text Usage

I membri di questa classe non vengono in genere XAMLXAMLutilizzati in.Members of this class are not typically used in XAMLXAML.

Si applica a

Vedi anche