Freezable.Clone Metodo

Definizione

Crea un clone modificabile dell'oggetto Freezable, eseguendo copie complete dei valori dell'oggetto.Creates a modifiable clone of the Freezable, making deep copies of the object's values. Durante la copia delle proprietà di dipendenza di questo oggetto, questo metodo copia le espressioni (che potrebbero non essere più risolte), ma non le animazioni né i relativi valori correnti.When copying the object's dependency properties, this method copies expressions (which might no longer resolve) but not animations or their current values.

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

Restituisce

Clone modificabile dell'oggetto corrente.A modifiable clone of the current object. La proprietà IsFrozen dell'oggetto clonato è false, anche se la proprietà IsFrozen dell'oggetto di origine è true..The cloned object's IsFrozen property is false even if the source's IsFrozen property is true.

Commenti

I metodi Clone e CloneCurrentValue producono cloni modificabili di oggetti di Freezable bloccati (anche i metodi clonano gli oggetti Freezable che non sono bloccati).The Clone and CloneCurrentValue methods produce modifiable clones of frozen Freezable objects (the methods also clone Freezable objects that are not frozen). Il clone è effettivamente una copia completa dell'oggetto corrente.The clone is effectively a deep copy of the current object.

Nella tabella seguente sono riepilogate le differenze tra i metodi Clone e CloneCurrentValue.The following table summarizes the differences between the Clone and CloneCurrentValue methods.

OperazioneAction Comportamento del metodo CloneClone method behavior Comportamento del metodo CloneCurrentValueCloneCurrentValue method behavior
Copia di una proprietà di dipendenza con un'espressioneCopying a dependency property that has an expression L'espressione viene copiata, ma potrebbe non essere più risolta.The expression is copied, but might no longer resolve. Per altre informazioni, vedere Cenni preliminari sugli oggetti Freezable.For more information, see Freezable Objects Overview. Il valore corrente dell'espressione viene copiato, ma non l'espressione stessa.The current value of the expression is copied, but not the expression itself.
Copia di una proprietà di dipendenza animataCopying an animated dependency property Il valore di base (non animato) della proprietà viene copiato.The property's base (non-animated) value is copied. Le animazioni non vengono copiate.Animations are not copied. Viene copiato il valore animato corrente della proprietà.The property's current animated value is copied. Le animazioni non vengono copiate.Animations are not copied.

Si noti che le proprietà non impostate non vengono copiate.Note that unset properties are not copied. Se una proprietà non impostata ha un valore predefinito che è un Freezablebloccato, il valore della proprietà rimane bloccato nel clone altrimenti modificabile.If an unset property has a default value that is a frozen Freezable, that property value remains frozen in the otherwise modifiable clone.

Spostare un oggetto Freezable tra threadMove a Freezable Between Threads

Questo metodo può essere utile per lo trasferimento di un Freezable tra thread.This method can be useful for moving a Freezable between threads. Per prima cosa, rendere immodificabile la Freezable chiamando il relativo metodo Freeze.First, make the Freezable unmodifiable by calling its Freeze method. A questo punto un altro thread può accedere alla Freezable e creare una Clone locale a cui può accedere.Now another thread can access the Freezable and make a local Clone that it can access.

Note per gli eredi

Questo metodo usa CloneCore(Freezable) per produrre il clone.This method uses CloneCore(Freezable) to produce the clone. Per modificare il comportamento di questo metodo in una classe derivata, eseguire l'override del metodo CloneCore(Freezable).To modify the behavior of this method in a derived class, override the CloneCore(Freezable) method.

Si applica a

Vedi anche