Dieser Artikel wurde manuell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen.
Übersetzung
Original
Dieser Artikel wurde noch nicht bewertet - Dieses Thema bewerten.

Freezable-Klasse

Definiert ein Objekt mit einem änderbaren Zustand und einem schreibgeschützten (fixierten) Zustand. Klassen, die von Freezable abgeleitet sind, stellen ausführliche Änderungsbenachrichtigung bereit, können als nicht änderbar festgelegt werden und können sich klonen.

Namespace:  System.Windows
Assembly:  WindowsBase (in WindowsBase.dll)
public abstract class Freezable : DependencyObject

Der Freezable-Typ macht die folgenden Member verfügbar.

  Name Beschreibung
Geschützte Methode Freezable Initialisiert eine neue Instanz einer abgeleiteten Freezable-Klasse.
Zum Seitenanfang
  Name Beschreibung
Öffentliche Eigenschaft CanFreeze Ruft einen Wert ab, der angibt, ob das Objekt als nicht änderbar festgelegt werden kann.
Öffentliche Eigenschaft DependencyObjectType Ruft den DependencyObjectType ab, der den CLR-Typ dieser Instanz umschließt.  (Von DependencyObject geerbt.)
Öffentliche Eigenschaft Dispatcher Ruft den Dispatcher ab, der diesem DispatcherObject zugeordnet ist. (Von DispatcherObject geerbt.)
Öffentliche Eigenschaft IsFrozen Ruft einen Wert ab, der angibt, ob das Objekt gegenwärtig änderbar ist.
Öffentliche Eigenschaft IsSealed Ruft einen Wert ab, der angibt, ob diese Instanz derzeit versiegelt (schreibgeschützt) ist. (Von DependencyObject geerbt.)
Zum Seitenanfang
  Name Beschreibung
Öffentliche Methode CheckAccess Bestimmt, ob der aufrufende Thread auf dieses DispatcherObject zugreifen kann. (Von DispatcherObject geerbt.)
Öffentliche Methode ClearValue(DependencyProperty) Löscht den lokalen Wert einer Eigenschaft. Die zu löschende Eigenschaft wird mit einem DependencyProperty-Bezeichner angegeben. (Von DependencyObject geerbt.)
Öffentliche Methode ClearValue(DependencyPropertyKey) Löscht den lokalen Wert einer schreibgeschützten Eigenschaft. Die zu löschende Eigenschaft wird mit einem DependencyPropertyKey angegeben. (Von DependencyObject geerbt.)
Öffentliche Methode Clone Erstellt einen änderbaren Klon der Freezable, indem tiefe Kopien von den Werten des Objekts erzeugt werden. Beim Kopieren von Abhängigkeitseigenschaften des Objekts kopiert diese Methode Ausdrücke (die jedoch möglicherweise nicht mehr aufgelöst werden können), jedoch keine Animationen oder ihre aktuellen Werte.
Geschützte Methode CloneCore Definiert die Instanz als Klon (tiefe Kopie) des angegebenen Freezable mit Basiseigenschaftswerten (nicht animiert).
Öffentliche Methode CloneCurrentValue Erstellt einen änderbaren Klon (tiefe Kopie) von Freezable mit den aktuellen Werten.
Geschützte Methode CloneCurrentValueCore Definiert die Instanz mit aktuellen Eigenschaftswerten als änderbaren Klon (tiefe Kopie) des angegebenen Freezable.
Öffentliche Methode CoerceValue Wandelt den Wert der angegebenen Abhängigkeitseigenschaft um. Für die Umwandlung wird eine vorhandene CoerceValueCallback-Funktion aufgerufen, die in den Metadaten der Abhängigkeitseigenschaft für das aufrufende DependencyObject angegeben ist. (Von DependencyObject geerbt.)
Geschützte Methode CreateInstance Initialisiert eine neue Instanz der Freezable-Klasse.
Geschützte Methode CreateInstanceCore Erstellt beim Implementieren in einer abgeleiteten Klasse eine neue Instanz der abgeleiteten Freezable-Klasse.
Öffentliche Methode Equals Bestimmt, ob ein angegebenes DependencyObject dem aktuellen DependencyObject entspricht. (Von DependencyObject geerbt.)
Geschützte Methode Finalize Gibt einem Objekt Gelegenheit zu dem Versuch, Ressourcen freizugeben und andere Bereinigungen durchzuführen, bevor es von der automatische Speicherbereinigung freigegeben wird. (Von Object geerbt.)
Öffentliche Methode Freeze() Definiert das aktuelle Objekt als nicht änderbar und legt seine IsFrozen-Eigenschaft auf true fest.
Geschützte Methode Statischer Member 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.
Geschützte Methode FreezeCore Legt das Freezable-Objekt als nicht änderbar fest oder überprüft, ob es als nicht änderbar festgelegt werden kann.
Öffentliche Methode GetAsFrozen Erstellt eine fixierte Kopie von Freezable mit Basiseigenschaftswerten (nicht animiert). Da die Kopie fixiert ist, werden alle fixierten Unterobjekte als Verweis kopiert.
Geschützte Methode GetAsFrozenCore Definiert die Instanz als fixierten Klon des angegebenen Freezable mit Basiseigenschaftswerten (nicht animiert).
Öffentliche Methode GetCurrentValueAsFrozen Erstellt eine fixierte Kopie von Freezable mit aktuellen Eigenschaftswerten. Da die Kopie fixiert ist, werden alle fixierten Unterobjekte als Verweis kopiert.
Geschützte Methode GetCurrentValueAsFrozenCore Legt die aktuelle Instanz als fixierten Klon des angegebenen Freezable fest. Wenn das Objekt über animierte Abhängigkeitseigenschaften verfügt, werden die aktuellen animierten Werte kopiert.
Öffentliche Methode GetHashCode Ruft einen Hashcode für dieses DependencyObject ab. (Von DependencyObject geerbt.)
Öffentliche Methode GetLocalValueEnumerator Erstellt einen spezialisierten Enumerator, mit dem bestimmt wird, welche Abhängigkeitseigenschaften dieses DependencyObject über lokal festgelegte Werte verfügen. (Von DependencyObject geerbt.)
Öffentliche Methode GetType Ruft den Type der aktuellen Instanz ab. (Von Object geerbt.)
Öffentliche Methode GetValue Gibt den aktuellen effektiven Wert einer Abhängigkeitseigenschaft in dieser Instanz eines DependencyObject zurück. (Von DependencyObject geerbt.)
Öffentliche Methode InvalidateProperty Berechnet den effektiven Wert für die angegebene Abhängigkeitseigenschaft neu (Von DependencyObject geerbt.)
Geschützte Methode MemberwiseClone Erstellt eine flache Kopie des aktuellen Object. (Von Object geerbt.)
Geschützte Methode OnChanged Wird aufgerufen, wenn das aktuelle Freezable-Objekt geändert wird.
Geschützte Methode OnFreezablePropertyChanged(DependencyObject, DependencyObject) Stellt sicher, dass entsprechende Kontextzeiger für einen gerade festgelegten DependencyObjectType-Datenmember eingerichtet werden.
Geschützte Methode OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty) Der Member unterstützt die Windows Presentation Foundation (WPF)-Infrastruktur und ist nicht für die direkte Verwendung im Code vorgesehen.
Geschützte Methode OnPropertyChanged Überschreibt die DependencyObject-Implementierung von OnPropertyChanged, um auch alle Changed-Handler als Reaktion auf eine Änderung einer Abhängigkeitseigenschaft vom Typ Freezable aufzurufen. (Überschreibt DependencyObject.OnPropertyChanged(DependencyPropertyChangedEventArgs).)
Öffentliche Methode ReadLocalValue Gibt, sofern vorhanden, den lokalen Wert einer Abhängigkeitseigenschaft zurück. (Von DependencyObject geerbt.)
Geschützte Methode ReadPreamble Stellt sicher, dass über einen gültigen Thread auf Freezable zugegriffen wird. Erben von Freezable müssen diese Methode am Anfang jeder API aufrufen, die Datenmember liest, bei denen es sich nicht um Abhängigkeitseigenschaften handelt.
Öffentliche Methode SetCurrentValue Legt den Wert einer -Abhängigkeitseigenschaft fest, ohne die Wertquelle zu ändern. (Von DependencyObject geerbt.)
Öffentliche Methode SetValue(DependencyProperty, Object) Legt den lokalen Wert einer Abhängigkeitseigenschaft fest, die über ihren Bezeichner angegeben wird. (Von DependencyObject geerbt.)
Öffentliche Methode SetValue(DependencyPropertyKey, Object) Legt den lokalen Wert einer schreibgeschützten Abhängigkeitseigenschaft fest, die über ihren DependencyPropertyKey-Bezeichner angegeben wird. (Von DependencyObject geerbt.)
Geschützte Methode ShouldSerializeProperty Gibt einen Wert zurück, der angibt, ob Serialisierungsprozesse den Wert der bereitgestellten Abhängigkeitseigenschaft serialisieren sollen. (Von DependencyObject geerbt.)
Öffentliche Methode ToString Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.)
Öffentliche Methode VerifyAccess Erzwingt, dass der aufrufende Thread auf dieses DispatcherObject zugreifen kann. (Von DispatcherObject geerbt.)
Geschützte Methode WritePostscript Löst das Changed-Ereignis für Freezable aus und ruft seine OnChanged-Methode auf. Von Freezable abgeleitete Klassen sollten diese Methode am Ende jeder API aufrufen, die nicht als Abhängigkeitseigenschaften gespeicherte Klassenmember ändert.
Geschützte Methode WritePreamble Stellt sicher, dass das Freezable nicht fixiert ist und dass über einen gültigen Threadkontext darauf zugegriffen wird. Erben von Freezable sollten diese Methode am Anfang jeder API aufrufen, die Datenmember schreibt, bei denen es sich nicht um Abhängigkeitseigenschaften handelt.
Zum Seitenanfang
  Name Beschreibung
Öffentliches Ereignis Changed Tritt auf, wenn Freezable oder ein darin enthaltenes Objekt geändert wird.
Zum Seitenanfang

Die Freezable-Klasse stellt besondere Features bereit, mit denen die Anwendungsleistung bei der Verwendung von Objekten verbessert werden kann, bei denen Änderungen und Kopiervorgänge ressourcenintensiv sind. Im Folgenden sind Beispiele für Freezable-Objekte aufgeführt:

Ableiten von Freezable

Eine von Freezable abgeleitete Klasse erhält die folgenden Features:

  • Besondere Zustände: Ein schreibgeschützter (fixierter) Zustand und ein nicht schreibgeschützter Zustand.

  • Threadsicherheit: Ein fixiertes Freezable-Objekt kann über Threads freigegeben werden.

  • Ausführliche Änderungsbenachrichtigung: Im Gegensatz zu anderen DependencyObject-Objekten stellt ein Freezable-Objekt Änderungsbenachrichtigungen bereit, wenn Werte von Untereigenschaften geändert werden.

  • Leichtes Klonen: In der Freezable-Klasse sind bereits mehrere Methoden implementiert, die tiefe Klone erstellen.

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

.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.

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

Wenn die IsFrozen-Eigenschaft den Wert false hat, kann auf ein Freezable-Objekt nur über den Thread zugegriffen werden, in dem es erstellt wurde. Der Versuch des Zugriffs über einen anderen Thread löst eine InvalidOperationException aus. Die Dispatcher.Invoke-Methode und die Dispatcher.BeginInvoke-Methode unterstützen Marshalling zum richtigen Thread.

Wenn ihre IsFrozen-Eigenschaft true ist, werden Freezable-Objekte zu Freethreadobjekten. Weitere Informationen finden Sie unter Übersicht über Freezable-Objekte.

System.Object
  System.Windows.Threading.DispatcherObject
    System.Windows.DependencyObject
      System.Windows.Freezable
        System.Windows.Input.InputBinding
        System.Windows.Media.Animation.Animatable
        System.Windows.Media.Animation.BooleanKeyFrame
        System.Windows.Media.Animation.BooleanKeyFrameCollection
        System.Windows.Media.Animation.ByteKeyFrame
        System.Windows.Media.Animation.ByteKeyFrameCollection
        System.Windows.Media.Animation.CharKeyFrame
        System.Windows.Media.Animation.CharKeyFrameCollection
        System.Windows.Media.Animation.ColorKeyFrame
        System.Windows.Media.Animation.ColorKeyFrameCollection
        System.Windows.Media.Animation.DecimalKeyFrame
        System.Windows.Media.Animation.DecimalKeyFrameCollection
        System.Windows.Media.Animation.DoubleKeyFrame
        System.Windows.Media.Animation.DoubleKeyFrameCollection
        System.Windows.Media.Animation.EasingFunctionBase
        System.Windows.Media.Animation.Int16KeyFrame
        System.Windows.Media.Animation.Int16KeyFrameCollection
        System.Windows.Media.Animation.Int32KeyFrame
        System.Windows.Media.Animation.Int32KeyFrameCollection
        System.Windows.Media.Animation.Int64KeyFrame
        System.Windows.Media.Animation.Int64KeyFrameCollection
        System.Windows.Media.Animation.KeySpline
        System.Windows.Media.Animation.MatrixKeyFrame
        System.Windows.Media.Animation.MatrixKeyFrameCollection
        System.Windows.Media.Animation.ObjectKeyFrame
        System.Windows.Media.Animation.ObjectKeyFrameCollection
        System.Windows.Media.Animation.Point3DKeyFrame
        System.Windows.Media.Animation.Point3DKeyFrameCollection
        System.Windows.Media.Animation.PointKeyFrame
        System.Windows.Media.Animation.PointKeyFrameCollection
        System.Windows.Media.Animation.QuaternionKeyFrame
        System.Windows.Media.Animation.QuaternionKeyFrameCollection
        System.Windows.Media.Animation.RectKeyFrame
        System.Windows.Media.Animation.RectKeyFrameCollection
        System.Windows.Media.Animation.Rotation3DKeyFrame
        System.Windows.Media.Animation.Rotation3DKeyFrameCollection
        System.Windows.Media.Animation.SingleKeyFrame
        System.Windows.Media.Animation.SingleKeyFrameCollection
        System.Windows.Media.Animation.SizeKeyFrame
        System.Windows.Media.Animation.SizeKeyFrameCollection
        System.Windows.Media.Animation.StringKeyFrame
        System.Windows.Media.Animation.StringKeyFrameCollection
        System.Windows.Media.Animation.ThicknessKeyFrame
        System.Windows.Media.Animation.ThicknessKeyFrameCollection
        System.Windows.Media.Animation.Vector3DKeyFrame
        System.Windows.Media.Animation.Vector3DKeyFrameCollection
        System.Windows.Media.Animation.VectorKeyFrame
        System.Windows.Media.Animation.VectorKeyFrameCollection
        System.Windows.Media.DoubleCollection
        System.Windows.Media.ImageMetadata
        System.Windows.Media.Int32Collection
        System.Windows.Media.Media3D.GeneralTransform2DTo3D
        System.Windows.Media.Media3D.GeneralTransform3DTo2D
        System.Windows.Media.Media3D.Point3DCollection
        System.Windows.Media.Media3D.Vector3DCollection
        System.Windows.Media.PointCollection
        System.Windows.Media.VectorCollection
        System.Windows.Shell.TaskbarItemInfo
        System.Windows.Shell.ThumbButtonInfo
Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)
Community-Inhalt Hinzufügen
Anmerkungen FAQ
Microsoft führt eine Onlineumfrage durch, um Ihre Meinung zur MSDN-Website zu erfahren. Wenn Sie sich zur Teilnahme entscheiden, wird Ihnen die Onlineumfrage angezeigt, sobald Sie die MSDN-Website verlassen.

Möchten Sie an der Umfrage teilnehmen?