Freezable.GetCurrentValueAsFrozen Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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
Zamrożona kopia obiektu Freezable. Właściwość kopiowania jest ustawiona IsFrozen na true
wartość .
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.