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

Freezable-Klasse

 

Veröffentlicht: Oktober 2016

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.

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

System.Object
  System.Windows.Threading.DispatcherObject
    System.Windows.DependencyObject
      System.Windows.Freezable
        System.Windows.Controls.Ribbon.RibbonControlSizeDefinition
        System.Windows.Controls.Ribbon.RibbonGroupSizeDefinitionBase
        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
        System.Windows.Shell.WindowChrome

public abstract class Freezable : DependencyObject

NameBeschreibung
System_CAPS_protmethodFreezable()

Initialisiert eine neue Instanz von einem Freezable abgeleitete Klasse.

NameBeschreibung
System_CAPS_pubpropertyCanFreeze

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

System_CAPS_pubpropertyDependencyObjectType

Ruft die DependencyObjectType umschließt der CLR Typ dieser Instanz. (Geerbt von „DependencyObject“.)

System_CAPS_pubpropertyDispatcher

Ruft die Dispatcher ab, denen dies DispatcherObject zugeordnet ist. (Geerbt von „DispatcherObject“.)

System_CAPS_pubpropertyIsFrozen

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

System_CAPS_pubpropertyIsSealed

Ruft einen Wert, der angibt, ob diese Instanz derzeit versiegelt ist (schreibgeschützt).(Geerbt von „DependencyObject“.)

NameBeschreibung
System_CAPS_pubmethodCheckAccess()

Bestimmt, ob der aufrufende Thread Zugriff auf diese DispatcherObject.(Geerbt von „DispatcherObject“.)

System_CAPS_pubmethodClearValue(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“.)

System_CAPS_pubmethodClearValue(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“.)

System_CAPS_pubmethodClone()

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.

System_CAPS_protmethodCloneCore(Freezable)

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

System_CAPS_pubmethodCloneCurrentValue()

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

System_CAPS_protmethodCloneCurrentValueCore(Freezable)

Macht die Instanz einen änderbaren Klon (tiefe Kopie) des angegebenen Freezable mit aktuellen Eigenschaftswerten.

System_CAPS_pubmethodCoerceValue(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“.)

System_CAPS_protmethodCreateInstance()

Initialisiert eine neue Instanz der Freezable-Klasse.

System_CAPS_protmethodCreateInstanceCore()

Bei Implementierung in einer abgeleiteten Klasse erstellt eine neue Instanz der dem Freezable abgeleitete Klasse.

System_CAPS_pubmethodEquals(Object)

Bestimmt, ob ein bereitgestelltes DependencyObject entspricht dem aktuellen DependencyObject.(Geerbt von „DependencyObject“.)

System_CAPS_protmethodFinalize()

Gibt einem Objekt Gelegenheit, Ressourcen freizugeben und andere Bereinigungen durchzuführen, bevor es von der Garbage Collection freigegeben wird. (Geerbt von „Object“.)

System_CAPS_pubmethodFreeze()

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

System_CAPS_protmethodSystem_CAPS_staticFreeze(Freezable, Boolean)

Wenn der isChecking -Parameter ist true, diese Methode gibt an, ob das angegebene Freezable änderbar festgelegt werden kann. Wenn der isChecking -Parameter ist false, diese Methode versucht, den angegebenen stellen Freezable als nicht änderbar fest und gibt an, ob der Vorgang erfolgreich war.

System_CAPS_protmethodFreezeCore(Boolean)

Macht die Freezable Objekt als nicht änderbar fest oder überprüft, ob es als nicht änderbar festgelegt werden kann.

System_CAPS_pubmethodGetAsFrozen()

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

System_CAPS_protmethodGetAsFrozenCore(Freezable)

Definiert der Instanz als fixierten Klon des angegebenen Freezable mit Basiseigenschaftswerten (nicht animiert).

System_CAPS_pubmethodGetCurrentValueAsFrozen()

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

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

System_CAPS_pubmethodGetHashCode()

Ruft einen Hashcode für diese DependencyObject ab.(Geerbt von „DependencyObject“.)

System_CAPS_pubmethodGetLocalValueEnumerator()

Erstellt einen spezialisierten Enumerator für die Bestimmung, welche Abhängigkeitseigenschaften lokal auf diesem festgelegte Werte haben DependencyObject.(Geerbt von „DependencyObject“.)

System_CAPS_pubmethodGetType()

Ruft den Type der aktuellen Instanz ab.(Geerbt von „Object“.)

System_CAPS_pubmethodGetValue(DependencyProperty)

Gibt den aktuellen effektiven Wert einer Abhängigkeitseigenschaft für diese Instanz eines DependencyObject zurück.(Geerbt von „DependencyObject“.)

System_CAPS_pubmethodInvalidateProperty(DependencyProperty)

Den tatsächliche Wert für die angegebene Abhängigkeitseigenschaft erneut bewertet werden soll(Geerbt von „DependencyObject“.)

System_CAPS_protmethodMemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.(Geerbt von „Object“.)

System_CAPS_protmethodOnChanged()

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

System_CAPS_protmethodOnFreezablePropertyChanged(DependencyObject, DependencyObject)

Stellt sicher, dass entsprechende Kontextzeiger für eingerichtet werden eine DependencyObjectType Datenmember, die gerade festgelegt wurde.

System_CAPS_protmethodOnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty)

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

System_CAPS_protmethodOnPropertyChanged(DependencyPropertyChangedEventArgs)

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

System_CAPS_pubmethodReadLocalValue(DependencyProperty)

Gibt den lokalen Wert einer Abhängigkeitseigenschaft zurück, wenn dieser vorhanden ist.(Geerbt von „DependencyObject“.)

System_CAPS_protmethodReadPreamble()

Stellt sicher, dass die Freezable über einen gültigen Thread zugegriffen wird. Erben der Freezable muss diese Methode aufrufen, die zu Beginn eines beliebigen API liest Datenmember, die keine Abhängigkeitseigenschaften sind.

System_CAPS_pubmethodSetCurrentValue(DependencyProperty, Object)

Legt den Wert einer Abhängigkeitseigenschaft fest, ohne deren Wertquelle zu ändern.(Geerbt von „DependencyObject“.)

System_CAPS_pubmethodSetValue(DependencyProperty, Object)

Legt den lokalen Wert einer Abhängigkeitseigenschaft fest, die durch ihren Bezeichner angegeben ist.(Geerbt von „DependencyObject“.)

System_CAPS_pubmethodSetValue(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“.)

System_CAPS_protmethodShouldSerializeProperty(DependencyProperty)

Gibt einen Wert zurück, der angibt, ob Serialisierungsprozesse den Wert der bereitgestellten Abhängigkeitseigenschaft serialisieren sollen.(Geerbt von „DependencyObject“.)

System_CAPS_pubmethodToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.(Geerbt von „Object“.)

System_CAPS_pubmethodVerifyAccess()

Erzwingt, dass der aufrufende Thread den Zugriff auf diese kann DispatcherObject.(Geerbt von „DispatcherObject“.)

System_CAPS_protmethodWritePostscript()

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.

System_CAPS_protmethodWritePreamble()

Überprüft, ob die Freezable ist nicht fixiert und, die sie über einen gültigen Threadkontext zugegriffen wird. Freezable erbenden Klassen sollten diese Methode aufrufen, die zu Beginn eines beliebigen API schreibt auf Datenmember, die keine Abhängigkeitseigenschaften sind.

NameBeschreibung
System_CAPS_pubeventChanged

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

Die Freezable -Klasse bietet spezielle Funktionen, mit deren Hilfe können die Leistung verbessern, wenn Sie Objekte verwenden, die teuer zu ändern oder zu kopieren. Beispiele für Freezable umfassen folgende Objekte:

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

  • Besondere Zustände: einem schreibgeschützten (fixierten) Zustand und einen beschreibbaren Status.

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

  • Detaillierte änderungsbenachrichtigung: im Gegensatz zu anderen DependencyObject Objekte ein Freezable Objekt bietet Benachrichtigungen, wenn untergeordnete Eigenschaftswerte geändert werden.

  • Leichtes Klonen: die Freezable-Klasse verfügt über mehrere Methoden, die tiefe Klone erstellen bereits implementiert.

Weitere Informationen zum verwenden und erstellen Ihre eigenen Freezable Objekte finden Sie unter Freezable Objects Overview.

.NET Framework
Verfügbar seit 3.0

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

Wenn die IsFrozen -Eigenschaft ist false, ein Freezable Objekt zugegriffen werden kann, nur von dem Thread, in dem es erstellt wurde. Versucht, die von einem anderen Thread löst darauf zugreifen, eine InvalidOperationException. Die Dispatcher.Invoke und Dispatcher.BeginInvoke Methoden unterstützen marshalling zum richtigen Thread.

Wenn ihre IsFrozen Eigenschaft true, Freezable Objekte sind Freethread-. Weitere Informationen finden Sie unter Freezable Objects Overview.

Zurück zum Anfang
Anzeigen: