Freezable.CloneCurrentValue Metoda

Definice

Vytvoří upravitelný klon (hloubkovou Freezable kopii) 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

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

Poznámky

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

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

Action Chování metody klonování Chování metody CloneCurrentValue
Kopírování vlastnosti závislosti s výrazem Výraz se zkopíruje, ale už se nemusí překládat. Další informace naleznete v tématu Přehled zamrznutelných objektů . 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í hodnota vlastnosti (ne animovaná). Animace se nekopírují. Aktuální animovaná hodnota vlastnosti se zkopíruje. Animace se nekopírují.

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

Přesunutí ukotvení mezi vlákny

Tato metoda může být užitečná pro přesun Freezable mezi vlákny. Nejprve pomocí své Freezable metody nemodifikovatelnýFreeze. Teď má další vlákno přístup k objektu Freezable a vytvořit místní klon, 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řepisují CloneCurrentValueCore(Freezable) , musí zajistit, aby kopie nebyla při vytváření zablokovaná.

Platí pro

Viz také