Markieren Sie das Kontrollkästchen Englisch, um die englische Version dieses Artikels anzuzeigen. Sie können den englischen Text auch in einem Popup-Fenster einblenden, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch
Diese Dokumentation wurde archiviert und wird nicht länger gepflegt.

FrameworkPropertyMetadata.AffectsRender-Eigenschaft

Ruft einen Wert ab, der angibt, ob eine Abhängigkeitseigenschaft möglicherweise Auswirkungen auf das allgemeine Layout hat, durch die die Anordnung oder die Maße nicht geändert werden, für die jedoch ein erneutes Zeichnen erforderlich ist, oder legt ihn fest.

Namespace:  System.Windows
Assembly:  PresentationFramework (in PresentationFramework.dll)
XMLNS für XAML: http://schemas.microsoft.com/winfx/2006/xaml/presentation, http://schemas.microsoft.com/netfx/2007/xaml/presentation

public bool AffectsRender { get; set; }
Member dieser Klasse werden normalerweise nicht in XAML verwendet.

Eigenschaftswert

Typ: System.Boolean
true , wenn die Abhängigkeitseigenschaft, für die diese Metadaten vorhanden sind, Auswirkungen auf das Rendering hat, andernfalls false. Der Standardwert ist false.

AusnahmeBedingung
InvalidOperationException

Die Metadaten wurden bereits auf eine Abhängigkeitseigenschaftsoperation angewendet. Die Metadaten sind daher versiegelt, und die Eigenschaften der Metadaten können nicht festgelegt werden.

FrameworkElement und FrameworkContentElement umfassen eine Implementierung von OnPropertyChanged, die effektive Wertänderungen an allen Abhängigkeitseigenschaften überwacht, die für ein Element vorhanden sind. Gemäß dieser Logik initiieren Abhängigkeitseigenschaften mit einer Änderung des effektiven Werts und mit Metadaten, bei denen AffectsRender auf true festgelegt ist, eine verzögerte Anforderung, die visuellen Objekte für dieses Element ungültig zu machen. Da diese Implementierung auf WPF-Frameworkebene bereits eingerichtet ist, müssen Sie normalerweise nicht nach Abhängigkeitseigenschaften mit AffectsRender suchen, es sei denn, Sie ersetzen oder ändern das Layout auf WPF-Frameworkebene erheblich.

In benutzerdefinierten OnPropertyChanged-Implementierungen kann ein ähnliches Verhalten für Änderungen an Abhängigkeitseigenschaften ausgewählt werden, wobei AffectsRender den Wert true aufweist.

Eigenschaften bei abgeleiteten Klassen von PropertyMetadata werden normalerweise im Objektmodell für den Lese- und Schreibzugriff definiert. Dies erfolgt, damit sie nach der Initialisierung der Instanz angepasst werden können. Wenn die Metadaten jedoch im Zusammenhang mit einem Aufruf von Register, AddOwner oder OverrideMetadata verwendet wurden, versiegelt das Eigenschaftensystem diese Metadateninstanz, und Eigenschaften, die die Merkmale der Metadaten enthalten, werden als unveränderlich betrachtet. Wenn versucht wird, diese Eigenschaft für diese Metadateninstanz festzulegen, nachdem IsSealed den Wert true aufweist, wird eine Ausnahme ausgelöst.

Im folgenden Beispiel werden die Standardmetadaten von unterschiedlichen Abhängigkeitseigenschaftenfeldern abgerufen, und der Wert von unterschiedlichen FrameworkPropertyMetadata-Eigenschaften wird abgefragt. Mit diesen Informationen wird dann eine Tabelle zum Implementieren eines "Metadatenbrowsers" gefüllt.


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";
}         


.NET Framework

Unterstützt in: 4, 3.5, 3.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 oder höher, Windows XP SP3, Windows Server 2008 (Server Core wird nicht unterstützt), Windows Server 2008 R2 (Server Core wird mit SP1 oder höher unterstützt), Windows Server 2003 SP2

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.
Anzeigen: