FrameworkPropertyMetadata.AffectsArrange FrameworkPropertyMetadata.AffectsArrange FrameworkPropertyMetadata.AffectsArrange FrameworkPropertyMetadata.AffectsArrange Property

Definition

Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob eine Abhängigkeitseigenschaft möglicherweise die Anordnungsphase während Layout-Engine-Vorgängen beeinflusst.Gets or sets a value that indicates whether a dependency property potentially affects the arrange pass during layout engine operations.

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

Eigenschaftswert

true, wenn die Abhängigkeitseigenschaft, für die diese Metadaten vorhanden sind, möglicherweise die Anordnungsphase beeinflusst, andernfalls false.true if the dependency property on which this metadata exists potentially affects the arrange pass; otherwise, false. Die Standardeinstellung ist false.The default is false.

Ausnahmen

Die Metadaten wurden bereits auf einen Vorgang der Abhängigkeitseigenschaft angewendet, sodass Metadaten versiegelt sind und keine Eigenschaften für Metadaten festgelegt werden können.The metadata has already been applied to a dependency property operation, so that metadata is sealed and properties of the metadata cannot be set.

Beispiele

Im folgenden Beispiel wird die Standardmetadaten aus verschiedenen Abhängigkeit abgerufen, den Wert von unterschiedlichen Abfragen FrameworkPropertyMetadata Eigenschaften auf, und verwendet die Informationen zum Auffüllen einer Tabelle zum Implementieren von "Metadatenbrowser".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")

Hinweise

FrameworkElement und FrameworkContentElement eine Implementierung der OnPropertyChanged , überwacht die effektive Änderungen für alle Abhängigkeitseigenschaften, die auf ein Element vorhanden.FrameworkElement and FrameworkContentElement include an implementation of OnPropertyChanged that monitors effective value changes to all dependency properties that exist on an element. Als Teil dieser Logik können Abhängigkeitseigenschaften, die Änderung des effektiven Wert und die Metadaten, bei denen AffectsArrange festgelegt true initiiert eine verzögerte Anforderung, die die visuellen Objekte für dieses Element für ungültig erklären (einen Aufruf von InvalidateArrange).As part of that logic, dependency properties that change effective value and have metadata with AffectsArrange set to true will initiate a deferred request to invalidate the visuals for that element (a call to InvalidateArrange). Da diese Implementierung der WPF-Frameworkebene bereits vorhanden ist, Sie müssen normalerweise nicht für Abhängigkeitseigenschaften mit suchen AffectsArrange , wenn Sie im Wesentlichen ersetzen oder ändern die WPF-Frameworkebene-Layout-Verhalten.Because this WPF framework-level implementation is already in place, you typically do not need to look for dependency properties with AffectsArrange unless you are substantially replacing or modifying the WPF framework-level layout behavior.

Benutzerdefinierte OnPropertyChanged Implementierungen können auch ein ähnliches Verhalten zum Ändern von Eigenschaften Abhängigkeit verfügen, in denen AffectsArrange ist true.Custom OnPropertyChanged implementations might choose to have similar behavior for dependency property changes where AffectsArrange is true.

Eigenschaften für abgeleitete Klassen von PropertyMetadata in der Regel im Objektmodell als schreibgeschützt definiert sind.Properties on derived classes of PropertyMetadata are typically defined in the object model as read-write. Dies ist, dass sie nach der Initialisierung der Instanz angepasst werden können.This is so they can be adjusted after initialization of the instance. Jedoch, nachdem die Metadaten als Teil eines Aufrufs von verbraucht ist Register, AddOwner, oder OverrideMetadata, das Eigenschaftensystem die betreffende Metadateninstanz, und Eigenschaften, die die Merkmale der Metadaten enthalten jetzt als unveränderlich angesehen werden.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. Es wird versucht, zum Festlegen dieser Eigenschaft nach dem IsSealed ist true auf diesen Metadaten Instanz löst eine Ausnahme aus.Attempting to set this property after IsSealed is true on this metadata instance will raise an exception.

XAML-Text-NutzungXAML Text Usage

Member dieser Klasse werden in der Regel nicht in verwendet XAMLXAML.Members of this class are either not typically used in XAMLXAML.

Gilt für:

Siehe auch