Exporter (0) Imprimer
Développer tout

Freezable.CloneCurrentValue, méthode

Creates a modifiable clone (deep copy) of this Freezable using its current values.

Espace de noms: System.Windows
Assembly : WindowsBase (dans windowsbase.dll)

public Freezable CloneCurrentValue ()
public Freezable CloneCurrentValue ()
public function CloneCurrentValue () : Freezable
Vous ne pouvez pas utiliser des méthodes dans XAML.

Valeur de retour

A modifiable clone of the current object. The cloned object's IsFrozen property will be false even if the source's IsFrozen property was true.

The Clone and CloneCurrentValue methods produce modifiable clones of frozen Freezable objects (they will also clone Freezable objects that are not frozen). The clone is effectively a deep copy of the current object.

The following table summarizes the differences between the Clone and CloneCurrentValue methods.

Action

Clone method behavior

CloneCurrentValue method behavior

Copying a dependency property that has an expression

The expression is copied, but might no longer resolve. See the Freezable Objects Overview for more information.

The current value of the expression is copied, but not the expression itself.

Copying an animated dependency property

The property's base (non-animated) value is copied. Animations are not copied.

The property's current animated value is copied. Animations are not copied.

Note that unset properties are not copied. If an unset property has a default value that is a frozen Freezable, that property value will remain frozen in the otherwise modifiable clone.

Move a Freezable Between Threads

This method can be useful for moving a Freezable between threads. First, make the Freezable unmodifiable by using its Freeze method. Now another thread can access the Freezable and make a local clone that it can access.

Remarques à l'attention des implémenteurs : This method uses the CloneCurrentValueCore method to produce the clone; Freezable implementers who override CloneCurrentValueCore must ensure that the copy is not frozen on creation.

Microsoft .NET Framework 3.0 est pris en charge sur Windows Vista, Microsoft Windows XP SP2 et Windows Server 2003 SP1.

.NET Framework

Prise en charge dans : 3.0

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft