Teilen über


Freezable Klasse

Definition

Definiert ein Objekt, das einen änderbaren Zustand und einen schreibgeschützten (fixierten) Zustand aufweist. Von Freezable abgeleitete Klassen stellen detaillierte Änderungsbenachrichtigung bereit, können unveränderlich gemacht werden und sind imstande, sich selbst zu klonen.

public ref class Freezable abstract : System::Windows::DependencyObject
public abstract class Freezable : System.Windows.DependencyObject
type Freezable = class
    inherit DependencyObject
Public MustInherit Class Freezable
Inherits DependencyObject
Vererbung
Abgeleitet

Hinweise

Die Freezable -Klasse bietet spezielle Features, die zur Verbesserung der Anwendungsleistung beitragen können, wenn Objekte verwendet werden, die teuer zu ändern oder zu kopieren sind. Freezable Beispiele für Objekte sind:

Ableiten von Freezable

Eine Klasse, die von abgeleitet wird Freezable , erhält die folgenden Features:

  • Besondere Zustände: schreibgeschützter (eingefrorener) Zustand und beschreibbarer Zustand.

  • Threadsicherheit: Ein eingefrorenes Freezable Objekt kann threadsübergreifend freigegeben werden.

  • Detaillierte Änderungsbenachrichtigung: Im Gegensatz zu anderen DependencyObject Objekten stellt ein Freezable -Objekt Änderungsbenachrichtigungen bereit, wenn sich die Werte der Untergeordneteneigenschaft ändern.

  • Einfaches Klonen: Die Freezable-Klasse hat bereits mehrere Methoden implementiert, die tiefe Klonen erzeugen.

Informationen zum Verwenden und Erstellen eigener Freezable Objekte finden Sie unter Übersicht über Freezable-Objekte.

Konstruktoren

Freezable()

Initialisiert eine neue Instanz einer abgeleiteten Freezable-Klasse.

Eigenschaften

CanFreeze

Ruft einen Wert ab, der anzeigt, ob das Objekt als nicht änderbar festgelegt werden kann.

DependencyObjectType

Ruft den ab, der DependencyObjectType den CLR-Typ dieses instance umschließt.

(Geerbt von DependencyObject)
Dispatcher

Ruft den Dispatcher ab, der diesem DispatcherObject zugeordnet ist.

(Geerbt von DispatcherObject)
IsFrozen

Ruft einen Wert ab, der angibt, ob das Objekt derzeit geändert werden kann.

IsSealed

Ruft einen Wert ab, der angibt, ob diese Instanz derzeit versiegelt (schreibgeschützt) ist.

(Geerbt von DependencyObject)

Methoden

CheckAccess()

Bestimmt, ob der aufrufende Thread auf dieses DispatcherObject zugreifen kann.

(Geerbt von DispatcherObject)
ClearValue(DependencyProperty)

Löscht den lokalen Wert einer Eigenschaft. Die Eigenschaft, deren Wert gelöscht werden soll, wird durch einen DependencyProperty-Bezeichner angegeben.

(Geerbt von DependencyObject)
ClearValue(DependencyPropertyKey)

Löscht den lokalen Wert einer schreibgeschützten Eigenschaft. Die Eigenschaft, deren Wert gelöscht werden soll, wird durch einen DependencyPropertyKey angegeben.

(Geerbt von DependencyObject)
Clone()

Erstellt einen änderbaren Klon des Freezable-Objekts, indem tiefe Kopien der Werte des Objekts erstellt werden. Beim Kopieren der Abhängigkeitseigenschaften des Objekts kopiert diese Methode Ausdrücke (die möglicherweise nicht mehr aufgelöst werden können), jedoch keine Animationen oder ihre aktuellen Werte.

CloneCore(Freezable)

Definiert die Instanz als Klon (tiefe Kopie) des angegebenen Freezable-Elements, indem Basiseigenschaftenwerte (nicht animiert) verwendet werden.

CloneCurrentValue()

Erstellt einen änderbaren Klon (tiefe Kopie) von Freezable mit den aktuellen Werten.

CloneCurrentValueCore(Freezable)

Macht die Instanz mithilfe aktueller Eigenschaftswerte zu einem Klon (tiefe Kopie) des angegebenen Freezable-Elements, der geändert werden kann.

CoerceValue(DependencyProperty)

Erzwingt den Wert der angegebenen Abhängigkeitseigenschaft. Dies erfolgt durch den Aufruf einer beliebigen CoerceValueCallback-Funktion, die in den Metadaten für die Abhängigkeitseigenschaft angegeben ist, während sie beim aufrufenden DependencyObject beendet wird.

(Geerbt von DependencyObject)
CreateInstance()

Initialisiert eine neue Instanz der Freezable-Klasse.

CreateInstanceCore()

Erstellt beim Implementieren in einer abgeleiteten Klasse eine neue Instanz der abgeleiteten Freezable-Klasse.

Equals(Object)

Bestimmt, ob ein angegebenes DependencyObject dem aktuellen DependencyObject entspricht.

(Geerbt von DependencyObject)
Freeze()

Definiert das aktuelle Objekt als nicht änderbar und legt seine IsFrozen-Eigenschaft auf true fest.

Freeze(Freezable, Boolean)

Wenn der isChecking-Parameter true ist, gibt diese Methode an, ob das angegebene Freezable als nicht änderbar festgelegt werden kann. Wenn der isChecking-Parameter false ist, versucht diese Methode, das angegebene Freezable als nicht änderbar festzulegen und gibt an, ob der Vorgang erfolgreich ausgeführt wurde.

FreezeCore(Boolean)

Legt das Freezable-Objekt als nicht änderbar fest oder überprüft, ob es als nicht änderbar festgelegt werden kann.

GetAsFrozen()

Erstellt eine fixierte Kopie von Freezable mit Basiseigenschaftswerten (nicht animiert). Da die Kopie fixiert ist, werden alle fixierten Unterobjekte als Verweis kopiert.

GetAsFrozenCore(Freezable)

Definiert die Instanz als fixierten Klon des angegebenen Freezable-Elements, indem Basiseigenschaftenwerte (nicht animiert) verwendet werden.

GetCurrentValueAsFrozen()

Erstellt eine fixierte Kopie von Freezable mit aktuellen Eigenschaftswerten. Da die Kopie fixiert ist, werden alle fixierten Unterobjekte als Verweis kopiert.

GetCurrentValueAsFrozenCore(Freezable)

Macht diese aktuelle Instanz zu einem fixierten Klon des angegebenen Freezable-Objekts. Wenn das Objekt über animierte Abhängigkeitseigenschaften verfügt, werden die aktuellen animierten Werte kopiert.

GetHashCode()

Ruft einen Hashcode für diese DependencyObject ab.

(Geerbt von DependencyObject)
GetLocalValueEnumerator()

Erstellt einen spezialisierten Enumerator, mit dem bestimmt wird, welche Abhängigkeitseigenschaften dieses DependencyObject über lokal festgelegte Werte verfügen.

(Geerbt von DependencyObject)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
GetValue(DependencyProperty)

Gibt den aktuellen effektiven Wert einer Abhängigkeitseigenschaft für diese Instanz eines DependencyObject zurück.

(Geerbt von DependencyObject)
InvalidateProperty(DependencyProperty)

Wertet den effektiven Wert für die angegebene Abhängigkeitseigenschaft erneut aus.

(Geerbt von DependencyObject)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
OnChanged()

Wird aufgerufen, wenn das aktuelle Freezable-Objekt geändert wird.

OnFreezablePropertyChanged(DependencyObject, DependencyObject)

Stellt sicher, dass entsprechende Kontextzeiger für einen gerade festgelegten DependencyObjectType-Datenmember eingerichtet werden.

OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty)

Dieses Member unterstützt die Windows Presentation Foundation -Infrastruktur (WPF) und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen.

OnPropertyChanged(DependencyPropertyChangedEventArgs)

Überschreibt die DependencyObject-Implementierung von OnPropertyChanged(DependencyPropertyChangedEventArgs), damit in Reaktion auf eine geänderte Abhängigkeitseigenschaft des Typs Freezable auch Changed-Handler aufgerufen werden.

ReadLocalValue(DependencyProperty)

Gibt den lokalen Wert einer Abhängigkeitseigenschaft zurück, wenn dieser vorhanden ist.

(Geerbt von DependencyObject)
ReadPreamble()

Stellt sicher, dass über einen gültigen Thread auf Freezable zugegriffen wird. Vererber von Freezable müssen diese Methode am Anfang jeder API aufrufen, die Datenmember liest, bei denen es sich nicht um Abhängigkeitseigenschaften handelt.

SetCurrentValue(DependencyProperty, Object)

Legt den Wert einer Abhängigkeitseigenschaft fest, ohne deren Wertquelle zu ändern.

(Geerbt von DependencyObject)
SetValue(DependencyProperty, Object)

Legt den lokalen Wert einer Abhängigkeitseigenschaft fest, die durch ihren Bezeichner angegeben ist.

(Geerbt von DependencyObject)
SetValue(DependencyPropertyKey, Object)

Legt den lokalen Wert einer schreibgeschützten Abhängigkeitseigenschaft fest, die durch den DependencyPropertyKey-Bezeichner der Abhängigkeitseigenschaft angegeben ist.

(Geerbt von DependencyObject)
ShouldSerializeProperty(DependencyProperty)

Gibt einen Wert zurück, der angibt, ob Serialisierungsprozesse den Wert der bereitgestellten Abhängigkeitseigenschaft serialisieren sollen.

(Geerbt von DependencyObject)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)
VerifyAccess()

Erzwingt, dass der aufrufende Thread auf dieses DispatcherObject zugreifen kann.

(Geerbt von DispatcherObject)
WritePostscript()

Löst das Changed-Ereignis für das Freezable-Objekt aus und ruft dessen OnChanged()-Methode auf. Klassen, die aus Freezable abgeleitet werden, sollten diese Methode am Ende jeder API aufrufen, die Klassenmember ändert, die nicht als Abhängigkeitseigenschaften gespeichert sind.

WritePreamble()

Stellt sicher, dass das Freezable nicht fixiert ist und dass über einen gültigen Threadkontext darauf zugegriffen wird. Vererber von Freezable sollten diese Methode am Anfang jeder API aufrufen, die Datenmember schreibt, bei denen es sich nicht um Abhängigkeitseigenschaften handelt.

Ereignisse

Changed

Tritt auf, wenn Freezable oder ein darin enthaltenes Objekt geändert wird.

Gilt für:

Threadsicherheit

Alle öffentlichen static-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Wenn die IsFrozen -Eigenschaft ist false, kann nur über den Thread, für den es erstellt wurde, auf ein Freezable Objekt zugegriffen werden. Beim Versuch, über einen anderen Thread darauf zuzugreifen, wird ein InvalidOperationExceptionausgelöst. Die Invoke Methoden und BeginInvoke bieten Unterstützung für das Marshallen in den richtigen Thread.

Wenn ihre IsFrozen -Eigenschaft lautet true, Freezable werden Objekte freithreadsiert. Weitere Informationen finden Sie unter der Übersicht über Freezable-Objekte.