Sdílet prostřednictvím


Freezable.CloneCurrentValue Metoda

Definice

Vytvoří upravitelný klon (hloubkovou kopii) Freezable pomocí aktuálních hodnot.

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

Návraty

Freezable

Upravitelný klon aktuálního objektu. Vlastnost klonovaného objektu IsFrozen je false i v případě, že je truevlastnost zdroje IsFrozen .

Poznámky

CloneCurrentValue A Clone metody vytvářejí modifikovatelné klony zmrazených Freezable objektů (metody také klonují Freezable objekty, které nejsou zmrazené). Klon je v podstatě hlubokou kopií aktuálního objektu.

Následující tabulka shrnuje rozdíly mezi metodami Clone a CloneCurrentValue metodami.

Akce Chování metody klonování Chování metody CloneCurrentValue
Kopírování vlastnosti závislosti s výrazem Výraz se zkopíruje, ale pravděpodobně se už nevyřeší. Další informace naleznete v tématu Zamrznutelné objekty Přehled. Aktuální hodnota výrazu se zkopíruje, ale ne samotný výraz.
Kopírování animované vlastnosti závislosti Zkopíruje se základní (ne animovaný) hodnota vlastnosti. Animace se nekopírují. Aktuální animovaná hodnota vlastnosti se zkopíruje. Animace se nekopírují.

Všimněte si, že nekopírované vlastnosti nejsou zkopírovány. Pokud má vlastnost unset výchozí hodnotu, která je zmrazená Freezable, tato hodnota vlastnosti zůstane ukotvena v jinak upravitelné klonu.

Přesunutí zamrznutí mezi vlákny

Tato metoda může být užitečná pro přesun Freezable mezi vlákny. Nejprve proveďte Freezable nemodifikovatelné pomocí jeho Freeze metody. Teď má další vlákno přístup k Freezable místnímu klonu, ke kterému má přístup.

Poznámky pro dědice

Tato metoda používá metodu CloneCurrentValueCore(Freezable) k vytvoření klonu; Freezable implementátory, kteří přepíší CloneCurrentValueCore(Freezable) , musí zajistit, aby kopie nebyla při vytváření zmrazená.

Platí pro

Viz také