Freigeben über


Freezable.GetCurrentValueAsFrozenCore(Freezable) Methode

Definition

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.

protected:
 virtual void GetCurrentValueAsFrozenCore(System::Windows::Freezable ^ sourceFreezable);
protected virtual void GetCurrentValueAsFrozenCore (System.Windows.Freezable sourceFreezable);
abstract member GetCurrentValueAsFrozenCore : System.Windows.Freezable -> unit
override this.GetCurrentValueAsFrozenCore : System.Windows.Freezable -> unit
Protected Overridable Sub GetCurrentValueAsFrozenCore (sourceFreezable As Freezable)

Parameter

sourceFreezable
Freezable

Das Freezable, das kopiert und fixiert werden soll.

Hinweise

Diese Methode wird von der GetCurrentValueAsFrozen -Methode aufgerufen und sollte nicht direkt aus Ihrem Code aufgerufen werden, außer beim Aufrufen der Basisimplementierung beim Überschreiben dieser Methode. Um eine eingefrorene Kopie des aktuellen Objekts zu erstellen, rufen Sie GetCurrentValueAsFrozen diese Methode auf, anstatt diese Methode direkt aufzurufen.

Hinweise für Vererber

Wenn Sie von Freezableableiten, müssen Sie diese Methode möglicherweise überschreiben. Gründe für die Außerkraftsetzung sind u. a. folgende Gründe:

  • Ihre abgeleitete Klasse verfügt über Daten, die nicht über Abhängigkeitseigenschaften verfügbar gemacht werden.

  • Ihre abgeleitete Klasse muss zusätzliche Initialisierungsarbeiten ausführen, die nicht durch einfaches CreateInstanceCore()Überschreiben erreicht werden können. Dies gilt beispielsweise, wenn Ihre abgeleitete ISupportInitializeKlasse implementiert.

Klassen, die alle ihre Daten in Abhängigkeitseigenschaften speichern und keine zusätzliche Initialisierungsarbeit ausführen müssen, müssen nicht außer Kraft gesetzt GetCurrentValueAsFrozenCore(Freezable)werden.

Es ist wichtig, dass alle Implementierungen die Basisimplementierung dieser Methode aufrufen. Implementierungen sollten nur Arbeiten ausführen, die von der Standardimplementierung nicht ausgeführt werden. Die Standardimplementierung erstellt mithilfe der CreateInstance() -Methode eine neue Freezable und erstellt ausführliche Kopien von unfrozen freezables und flachen Kopien aller anderen beschreibbaren, lokal festgelegten Eigenschaften, die sie enthält. Wenn das Objekt datengebundene Abhängigkeitseigenschaften aufweist, werden die Datenbindungen kopiert, aber möglicherweise nicht mehr aufgelöst. Weitere Informationen zum Klonen von datengebundenen Objekten finden Sie unter Übersicht über Freezable-Objekte. Wenn das Objekt über animierte Abhängigkeitseigenschaften verfügt, wird der aktuelle animierte Wert dieser Eigenschaften kopiert, die Animationen jedoch nicht.

Schreibgeschützte Abhängigkeitseigenschaften innerhalb eines Freezable werden von dieser Standardimplementierung nicht kopiert.

Wenn Sie diese Methode überschreiben, müssen Sie die Basisimplementierung aufrufen.

Sie benötigen keine Werte, Freeze() während sie kopiert werden. Das Ergebnis wird eingefroren, GetAsFrozen() bevor es zurückgegeben wird.

Gilt für:

Weitere Informationen