Condividi tramite


Freezable.GetCurrentValueAsFrozen Metodo

Definizione

Crea una copia bloccata di Freezable utilizzando valori della proprietà correnti. Dato che la copia è bloccata, gli oggetti secondari bloccati sono copiati dal riferimento.

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

Restituisce

Freezable

Una copia bloccata di Freezable. La proprietà della copia IsFrozen è impostata su true.

Commenti

L'uso di questo metodo è simile alla creazione di una copia usando CloneCurrentValue e quindi il blocco con il Freeze metodo .

I GetAsFrozen metodi e GetCurrentValueAsFrozen possono migliorare le prestazioni di copia perché non clonano Freezable oggetti secondari già bloccati, ma li copiano solo per riferimento.

Nella tabella seguente vengono riepilogate le differenze tra i GetAsFrozen metodi e GetCurrentValueAsFrozen .

Azione Comportamento del metodo GetAsFrozen Comportamento del metodo GetCurrentValueAsFrozen
Copia di una proprietà di dipendenza con un'espressione Il metodo genera un'eccezione InvalidOperationException perché non può Freeze essere la proprietà . 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à nonset non vengono copiate, né sono proprietà di sola lettura.

Per creare una copia dell'oggetto Freezable che non è bloccato, utilizzare il CloneCurrentValue metodo .

Note per gli eredi

Questo metodo usa il metodo virtuale GetCurrentValueAsFrozenCore(Freezable) per produrre il clone.

Si applica a

Vedi anche