Freezable.GetAsFrozen Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Crea una copia bloccata di Freezable, utilizzando valori delle proprietà di base (non-animati). Dato che la copia è bloccata, gli oggetti secondari bloccati sono copiati dal riferimento.
public:
System::Windows::Freezable ^ GetAsFrozen();
public System.Windows.Freezable GetAsFrozen ();
member this.GetAsFrozen : unit -> System.Windows.Freezable
Public Function GetAsFrozen () As Freezable
Restituisce
Una copia bloccata di Freezable. La proprietà della copia IsFrozen è impostata su true
.
Eccezioni
Freezable non può essere bloccato perché contiene espressioni o proprietà animate.
Commenti
È necessario controllare la CanFreeze proprietà prima di chiamare questo metodo per verificare che l'oggetto Freezable possa essere bloccato. L'uso di questo metodo è simile alla creazione di una copia usando l'oggetto Clone e quindi bloccarlo con il Freeze metodo .
I metodi e GetCurrentValueAsFrozen possono migliorare le GetAsFrozen prestazioni di copia perché non clonano Freezable oggetti secondari già bloccati; li copiano solo in base al 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 oggetto 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à unset non vengono copiate né sono proprietà di sola lettura.
Per creare una copia dell'oggetto Freezable non bloccata, usare il Clone metodo .
Note per gli eredi
Questo metodo usa il metodo virtuale GetAsFrozenCore(Freezable) per produrre il clone.