Freezable.CloneCurrentValue Metodo

Definizione

Crea un clone modificabile (copia completa) di Freezable utilizzando i valori correnti.Creates a modifiable clone (deep copy) of the Freezable using its current values.

public:
 System::Windows::Freezable ^ CloneCurrentValue();
public System.Windows.Freezable CloneCurrentValue ();
member this.CloneCurrentValue : unit -> System.Windows.Freezable
Public Function CloneCurrentValue () 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 il Freezable usando il relativo metodo Freeze.First, make the Freezable unmodifiable by using its Freeze method. Ora un altro thread può accedere alla Freezable e creare un 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 il metodo CloneCurrentValueCore(Freezable) per produrre il clone; Freezable gli implementatori che eseguono l'override di CloneCurrentValueCore(Freezable) necessario assicurarsi che la copia non venga bloccata durante la creazione.This method uses the CloneCurrentValueCore(Freezable) method to produce the clone; Freezable implementers who override CloneCurrentValueCore(Freezable) must ensure that the copy is not frozen on creation.

Si applica a

Vedi anche