Freezable Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Definiert ein Objekt mit einem modifizierbaren Zustand und einem schreibgeschützten (fixierten) Zustand. Klassen, die von Freezable der Bereitstellung detaillierter Änderungsbenachrichtigungen abgeleitet werden, können unveränderlich gemacht werden und können sich selbst 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, mit denen die Anwendungsleistung verbessert werden kann, wenn Objekte verwendet werden, die zum Ändern oder Kopieren teuer sind. Beispiele für Freezable Objekte sind:
Ableiten von Freezable
Eine Klasse, die von Freezable den folgenden Features abgeleitet wird:
Spezielle Zustände: schreibgeschützter (fixierter) Zustand und schreibbarer Zustand.
Threadsicherheit: Ein fixiertes Freezable Objekt kann über Threads hinweg freigegeben werden.
Detaillierte Änderungsbenachrichtigung: Im Gegensatz zu anderen DependencyObject Objekten stellt ein Freezable Objekt Änderungsbenachrichtigungen bereit, wenn sich Untereigenschaftenwerte ä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 "Freezable Objects Overview".
Konstruktoren
| Name | Beschreibung |
|---|---|
| Freezable() |
Initialisiert eine neue Instanz einer Freezable abgeleiteten Klasse. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| CanFreeze |
Ruft einen Wert ab, der angibt, ob das Objekt unveränderlich gemacht werden kann. |
| DependencyObjectType |
Ruft den DependencyObjectType CLR-Typ dieser Instanz ab. (Geerbt von DependencyObject) |
| Dispatcher |
Ruft dies Dispatcher ab, dem dies 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 aktuell versiegelt ist (schreibgeschützt). (Geerbt von DependencyObject) |
Methoden
| Name | Beschreibung |
|---|---|
| CheckAccess() |
Bestimmt, ob der aufrufende Thread Zugriff auf diesen DispatcherObjectThread hat. (Geerbt von DispatcherObject) |
| ClearValue(DependencyProperty) |
Löscht den lokalen Wert einer Eigenschaft. Die zu löschende Eigenschaft wird durch einen DependencyProperty Bezeichner angegeben. (Geerbt von DependencyObject) |
| ClearValue(DependencyPropertyKey) |
Löscht den lokalen Wert einer schreibgeschützten Eigenschaft. Die zu löschende Eigenschaft wird durch eine DependencyPropertyKey. (Geerbt von DependencyObject) |
| Clone() |
Erstellt einen modifizierbaren Klon des FreezableObjekts, wobei 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) |
Macht die Instanz zu einem Klon (deep copy) der angegebenen Freezable Basiseigenschaftswerte (nicht animiert). |
| CloneCurrentValue() |
Erstellt einen modifizierbaren Klon (deep copy) der Freezable aktuellen Werte. |
| CloneCurrentValueCore(Freezable) |
Macht die Instanz zu einem modifizierbaren Klon (deep copy) des angegebenen Freezable Werts mit aktuellen Eigenschaftswerten. |
| CoerceValue(DependencyProperty) |
Wandelt den Wert der angegebenen Abhängigkeitseigenschaft um. Dies wird erreicht, indem alle CoerceValueCallback in Eigenschaftsmetadaten für die Abhängigkeitseigenschaft angegebenen Funktionen aufgerufen werden, wie sie für den Aufruf DependencyObjectvorhanden sind. (Geerbt von DependencyObject) |
| CreateInstance() |
Initialisiert eine neue Instanz der Freezable-Klasse. |
| CreateInstanceCore() |
Wenn sie in einer abgeleiteten Klasse implementiert wird, wird eine neue Instanz der Freezable abgeleiteten Klasse erstellt. |
| Equals(Object) |
Bestimmt, ob ein bereitgestelltes DependencyObject Element dem aktuellen DependencyObjectentspricht. (Geerbt von DependencyObject) |
| Freeze() |
Macht das aktuelle Objekt unveränderlich und legt seine IsFrozen Eigenschaft auf |
| Freeze(Freezable, Boolean) |
Wenn der |
| FreezeCore(Boolean) |
Macht das Freezable Objekt unveränderlich oder prüft, ob es unveränderlich gemacht werden kann. |
| GetAsFrozen() |
Erstellt eine fixierte Kopie der Freezablebasisbasierten (nicht animierten) Eigenschaftswerte. Da die Kopie fixiert ist, werden alle fixierten Unterobjekte per Verweis kopiert. |
| GetAsFrozenCore(Freezable) |
Macht die Instanz zu einem fixierten Klon der angegebenen Freezable Basiseigenschaft (nicht animierte) Eigenschaftswerte. |
| GetCurrentValueAsFrozen() |
Erstellt eine fixierte Kopie der Freezable aktuellen Eigenschaftswerte. Da die Kopie fixiert ist, werden alle fixierten Unterobjekte per Verweis kopiert. |
| GetCurrentValueAsFrozenCore(Freezable) |
Macht die aktuelle Instanz zu einem fixierten Klon des angegebenen Freezable. Wenn das Objekt animierte Abhängigkeitseigenschaften aufweist, werden die aktuellen animierten Werte kopiert. |
| GetHashCode() |
Ruft einen Hashcode für diese DependencyObjectab. (Geerbt von DependencyObject) |
| GetLocalValueEnumerator() |
Erstellt einen speziellen Enumerator, um zu bestimmen, welche Abhängigkeitseigenschaften lokal festgelegte Werte für diese DependencyObjectEigenschaft haben. (Geerbt von DependencyObject) |
| GetType() |
Ruft die Type der aktuellen Instanz ab. (Geerbt von Object) |
| GetValue(DependencyProperty) |
Gibt den aktuellen effektiven Wert einer Abhängigkeitseigenschaft für diese Instanz einer .DependencyObject (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 der aktuellen Object. (Geerbt von Object) |
| OnChanged() |
Wird aufgerufen, wenn das aktuelle Freezable Objekt geändert wird. |
| OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty) |
Dieses Mitglied unterstützt die Windows Presentation Foundation-Infrastruktur (WPF) und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen. |
| OnFreezablePropertyChanged(DependencyObject, DependencyObject) |
Stellt sicher, dass geeignete Kontextzeiger für ein DependencyObjectType soeben festgelegtes Datenelement eingerichtet werden. |
| OnPropertyChanged(DependencyPropertyChangedEventArgs) |
Setzt die DependencyObject Implementierung OnPropertyChanged(DependencyPropertyChangedEventArgs) außer Kraft, um auch alle Changed Handler als Reaktion auf eine sich ändernde Abhängigkeitseigenschaft vom Typ Freezableaufzurufen. |
| ReadLocalValue(DependencyProperty) |
Gibt den lokalen Wert einer Abhängigkeitseigenschaft zurück, sofern vorhanden. (Geerbt von DependencyObject) |
| ReadPreamble() |
Stellt sicher, dass der Freezable Zugriff über einen gültigen Thread erfolgt. Erber von Freezable müssen diese Methode am Anfang einer API aufrufen, die Datenmmber liest, die keine Abhängigkeitseigenschaften sind. |
| SetCurrentValue(DependencyProperty, Object) |
Legt den Wert einer Abhängigkeitseigenschaft fest, ohne die Wertquelle zu ändern. (Geerbt von DependencyObject) |
| SetValue(DependencyProperty, Object) |
Legt den lokalen Wert einer Abhängigkeitseigenschaft fest, die durch den Bezeichner der Abhängigkeitseigenschaft angegeben wird. (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 wird. (Geerbt von DependencyObject) |
| ShouldSerializeProperty(DependencyProperty) |
Gibt einen Wert zurück, der angibt, ob Serialisierungsprozesse den Wert für die bereitgestellte 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 Zugriff auf diesen DispatcherObjectThread hat. (Geerbt von DispatcherObject) |
| WritePostscript() |
Löst das Changed Ereignis für die Freezable Methode aus und ruft es OnChanged() auf. Klassen, die von Freezable dieser Methode abgeleitet werden, sollten am Ende einer API aufgerufen werden, die Klassenmmber ändert, die nicht als Abhängigkeitseigenschaften gespeichert sind. |
| WritePreamble() |
Überprüft, ob der Freezable Zugriff nicht fixiert ist und über einen gültigen Threadingkontext darauf zugegriffen wird. Freezable Vererbungen sollten diese Methode am Anfang einer API aufrufen, die in Datenmmber schreibt, die keine Abhängigkeitseigenschaften sind. |
Ereignisse
| Name | Beschreibung |
|---|---|
| Changed |
Tritt auf, wenn das Freezable darin enthaltene Objekt geändert wird. |
Gilt für:
Threadsicherheit
Alle öffentlichen static Member dieses Typs sind threadsicher. Instanzenmitglieder sind nicht garantiert threadsicher.
Wenn die IsFrozen Eigenschaft lautet false, kann nur über den Thread, auf den sie erstellt wurde, auf ein Freezable Objekt zugegriffen werden. Wenn Sie versuchen, über einen anderen Thread darauf zuzugreifen, wird ein InvalidOperationException. Die Invoke Methoden unterstützen BeginInvoke das Marshalling an den richtigen Thread.
Wenn ihre IsFrozen Eigenschaft lautet true, Freezable werden Objekte freithreadsiert. Weitere Informationen finden Sie unter der Übersicht über Freezable-Objekte.