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 della proprietà , utilizzando i valori della Freezableproprietà base (non animati). Poiché la copia è bloccata, tutti gli oggetti secondari bloccati vengono copiati in base al riferimento.
public:
System::Windows::Freezable ^ GetAsFrozen();
public System.Windows.Freezable GetAsFrozen();
member this.GetAsFrozen : unit -> System.Windows.Freezable
Public Function GetAsFrozen () As Freezable
Restituisce
Copia bloccata dell'oggetto Freezable. La proprietà della IsFrozen copia è impostata su true.
Eccezioni
Impossibile bloccare l'oggetto Freezable 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 Clone 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 .
| Action | 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 che non è bloccato, utilizzare il Clone metodo .
Note per gli eredi
Questo metodo usa il metodo virtuale GetAsFrozenCore(Freezable) per produrre il clone.