Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

DependencyObject.InvalidateProperty-Methode: (DependencyProperty)

 

Veröffentlicht: Oktober 2016

Den tatsächliche Wert für die angegebene Abhängigkeitseigenschaft erneut bewertet werden soll

Namespace:   System.Windows
Assembly:  WindowsBase (in WindowsBase.dll)

public void InvalidateProperty(
	DependencyProperty dp
)

Parameter

dp
Type: System.Windows.DependencyProperty

Die DependencyProperty Bezeichner der Eigenschaft, die für ungültig zu erklären.

Beim Aufruf von InvalidateProperty, alle zugeordneten und anwendbaren CoerceValueCallback oder PropertyChangedCallback Funktionen registriert werden, für die Abhängigkeitseigenschaft aufgerufen werden kann.

Aufrufen von InvalidateProperty für eine Eigenschaft, die einen lokalen Wert festgelegt hat keine Auswirkung, da der lokale Wert Vorrang vor anderen Eigenschaft System Eingaben, mit Ausnahme von Animationen enthält. Sie können jedoch aufrufen ClearValue, rufen Sie dann InvalidateProperty. Weitere Informationen finden Sie unter Abhängigkeitseigenschaftswerten.

Aufrufen von InvalidateProperty ist nicht notwendigerweise auch für viele Szenarios Abhängigkeit. Aufgrund von wertänderungen in einer der Bestandteile eine Abhängigkeitseigenschaft ungültig wird, wird das Eigenschaftensystem führt und die Abhängigkeitseigenschaft neu automatisch ausgewertet. Es gibt jedoch noch einige Szenarios, in denen InvalidateProperty eignet. Insbesondere können Sie InvalidateProperty innerhalb des zum Umwandeln von Werten oder die Eigenschaft geändert Rückruf für verschiedene Abhängigkeitseigenschaft. Sie können auch InvalidateProperty erneute Bewertung einer Bindung mit einer Datenquelle zu erzwingen, die nicht die empfohlene implementieren kann INotifyPropertyChanged Benachrichtigungsmechanismus (vielleicht Datenklassen, kann nicht abgeleitet werden, oder in dem die Daten eines statischen Members, in Anspruch).

Das folgende Beispiel ruft InvalidateProperty für die benutzerdefinierte Eigenschaft jedes Mal, wenn Eigenschaften, die für ungültig erklärten Eigenschaft Berechnungen beteiligt sind, ändern. Dies ist ein alternatives Verfahren zum Aufrufen der CoerceValue -Methode, da die Eigenschaft für ungültig erklärt auch alle aufrufen registriert CoerceValueCallback.

static AreaButton()
{
    WidthProperty.OverrideMetadata(typeof(AreaButton), new FrameworkPropertyMetadata(new PropertyChangedCallback(InvalidateAreaProperty)));
    HeightProperty.OverrideMetadata(typeof(AreaButton), new FrameworkPropertyMetadata(new PropertyChangedCallback(InvalidateAreaProperty)));
}
static void InvalidateAreaProperty(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
    d.InvalidateProperty(AreaProperty);
}

.NET Framework
Verfügbar seit 3.0
Zurück zum Anfang
Anzeigen: