Sdílet prostřednictvím


Freezable.Clone Metoda

Definice

Vytvoří upravitelný klon objektu Freezable, který vytvoří hluboké kopie hodnot objektu. Při kopírování vlastností závislostí objektu tato metoda kopíruje výrazy (které již nemusí překládat), ale ne animace animace nebo jejich aktuální hodnoty.

public:
 System::Windows::Freezable ^ Clone();
public System.Windows.Freezable Clone ();
member this.Clone : unit -> System.Windows.Freezable
Public Function Clone () 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 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 nastavte, aby Freezable se nemodifikovat voláním jeho Freeze metody. Teď má přístup k jinému vláknu Freezable a vytvořit místní Clone , ke kterému má přístup.

Poznámky pro dědice

Tato metoda používá CloneCore(Freezable) k vytvoření klonu. Chcete-li změnit chování této metody v odvozené třídě, přepište metodu CloneCore(Freezable) .

Platí pro

Viz také