Freezable.Clone Metodo

Definizione

Crea un clone modificabile dell'oggetto Freezable, eseguendo copie complete dei valori dell'oggetto. Quando si copiano le proprietà di dipendenza dell'oggetto, questo metodo copia le espressioni (che potrebbero non essere più risolte) ma non le animazioni o i relativi valori correnti.

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

Valori restituiti

Clone modificabile dell'oggetto corrente. La proprietà dell'oggetto IsFrozen clonato è false anche se la proprietà dell'origine IsFrozen è true.

Commenti

I Clone metodi e CloneCurrentValue producono cloni modificabili di oggetti bloccati Freezable (i metodi clonano Freezable anche oggetti non bloccati). Il clone è in effetti una copia completa dell'oggetto corrente.

Nella tabella seguente vengono riepilogate le differenze tra i Clone metodi e CloneCurrentValue .

Action Comportamento del metodo clone Comportamento del metodo CloneCurrentValue
Copia di una proprietà di dipendenza con un'espressione L'espressione viene copiata, ma potrebbe non essere più risolta. Per ulteriori informazioni, vedere la Panoramica degli Oggetti Freezable . Il valore corrente dell'espressione viene copiato, ma non l'espressione stessa.
Copia di una proprietà di dipendenza animata Il valore di base della proprietà (non animato) viene copiato. Le animazioni non vengono copiate. Il valore animato corrente della proprietà viene copiato. Le animazioni non vengono copiate.

Si noti che le proprietà unset non vengono copiate. Se una proprietà unset ha un valore predefinito bloccato Freezable, tale valore della proprietà rimane bloccato nel clone modificabile in caso contrario.

Spostare un oggetto Freezable tra thread

Questo metodo può essere utile per lo spostamento di un oggetto Freezable tra thread. Prima di tutto, rendere l'oggetto Freezable non modificabile chiamando il relativo Freeze metodo. Ora un altro thread può accedere a Freezable e rendere locale Clone a cui può accedere.

Note per gli eredi

Questo metodo usa CloneCore(Freezable) per produrre il clone. Per modificare il comportamento di questo metodo in una classe derivata, eseguire l'override del CloneCore(Freezable) metodo .

Si applica a

Vedi anche