Udostępnij za pośrednictwem


Freezable.GetCurrentValueAsFrozen Metoda

Definicja

Tworzy zamrożoną kopię przy użyciu bieżących Freezable wartości właściwości. Ponieważ kopia jest zamrożona, wszystkie zamrożone obiekty podrzędne są kopiowane przez odwołanie.

public:
 System::Windows::Freezable ^ GetCurrentValueAsFrozen();
public System.Windows.Freezable GetCurrentValueAsFrozen ();
member this.GetCurrentValueAsFrozen : unit -> System.Windows.Freezable
Public Function GetCurrentValueAsFrozen () As Freezable

Zwraca

Freezable

Zamrożona kopia obiektu Freezable. Właściwość kopiowania jest ustawiona IsFrozen na truewartość .

Uwagi

Użycie tej metody jest podobne do tworzenia kopii przy użyciu metody CloneCurrentValue , a następnie zamrażania jej za Freeze pomocą metody .

Metody GetAsFrozen i GetCurrentValueAsFrozen mogą poprawić wydajność kopiowania, ponieważ nie klonują Freezable już zablokowanych obiektów podrzędnych; kopiują je tylko przy użyciu odwołania.

W poniższej tabeli przedstawiono podsumowanie różnic między metodami GetAsFrozen i GetCurrentValueAsFrozen .

Akcja Zachowanie metody GetAsFrozen Zachowanie metody GetCurrentValueAsFrozen
Kopiowanie właściwości zależności z wyrażeniem Metoda zgłasza błąd, InvalidOperationException ponieważ nie może Freeze ona właściwości . Bieżąca wartość wyrażenia jest kopiowana, ale nie sama wyrażenie.
Kopiowanie animowanej właściwości zależności Wartość podstawowa właściwości (nieimowana) jest kopiowana. Animacje nie są kopiowane. Bieżąca animowana wartość właściwości jest kopiowana. Animacje nie są kopiowane.

Należy pamiętać, że nieskonfigurowane właściwości nie są kopiowane ani nie są właściwościami tylko do odczytu.

Aby utworzyć kopię Freezable , która nie jest zamrożona, użyj CloneCurrentValue metody .

Uwagi dotyczące dziedziczenia

Ta metoda używa metody wirtualnej GetCurrentValueAsFrozenCore(Freezable) do utworzenia klonu.

Dotyczy

Zobacz też