Freezable.GetAsFrozen Yöntem

Tanım

FreezableTemel (animasyonlu olmayan) özellik değerlerini kullanarak, dondurulmuş bir kopyasını oluşturur.Creates a frozen copy of the Freezable, using base (non-animated) property values. Kopya Dondurulmuş olduğundan, dondurulmuş tüm alt nesneler başvuruya göre kopyalanır.Because the copy is frozen, any frozen sub-objects are copied by reference.

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

Döndürülenler

Freezable

Öğesinin dondurulmuş bir kopyası Freezable .A frozen copy of the Freezable. Kopyanın IsFrozen özelliği olarak ayarlanır true .The copy's IsFrozen property is set to true.

Özel durumlar

Freezableİfadeler veya animasyonlu Özellikler içerdiğinden dondurulamıyor.The Freezable cannot be frozen because it contains expressions or animated properties.

Açıklamalar

' Nin CanFreeze dondurulmuş olduğunu doğrulamak için bu yöntemi çağırmadan önce özelliği denetlemeniz gerekir Freezable .You should check the CanFreeze property before calling this method to verify that the Freezable can be frozen. Bu yöntemin kullanılması, kullanarak bir kopya oluşturmaya benzer Clone ve sonra yöntemiyle donduruyor Freeze .Using this method is similar to creating a copy using the Clone and then freezing it with the Freeze method.

GetAsFrozenVe GetCurrentValueAsFrozen yöntemleri, zaten dondurulmuş olan alt nesneleri kopyalamadıklarından, kopyalama performansını iyileştirebilir. bunlar Freezable yalnızca başvuruya göre kopyalayabilirler.The GetAsFrozen and GetCurrentValueAsFrozen methods can improve copying performance because they do not clone Freezable sub-objects that are already frozen; they only copy them by reference.

Aşağıdaki tabloda ve yöntemleri arasındaki farklar özetlenmektedir GetAsFrozen GetCurrentValueAsFrozen .The following table summarizes the differences between the GetAsFrozen and GetCurrentValueAsFrozen methods.

EylemAction Getasdondurulmuş Yöntem davranışıGetAsFrozen method behavior GetCurrentValueAsFrozen yöntemi davranışıGetCurrentValueAsFrozen method behavior
Bir ifadeye sahip bir bağımlılık özelliğini kopyalamaCopying a dependency property that has an expression Yöntemi, InvalidOperationException özelliği kullanılamadığından bir oluşturur Freeze .The method throws an InvalidOperationException because it cannot Freeze the property. İfadenin geçerli değeri kopyalanır, ancak ifadenin kendisi değildir.The current value of the expression is copied, but not the expression itself.
Animasyonlu bağımlılık özelliğini kopyalamaCopying an animated dependency property Özelliğin temel (hareketli olmayan) değeri kopyalanır.The property's base (non-animated) value is copied. Animasyonlar kopyalanmaz.Animations are not copied. Özelliğin geçerli animasyon değeri kopyalanır.The property's current animated value is copied. Animasyonlar kopyalanmaz.Animations are not copied.

Unset özelliklerinin kopyalanmadığını ve salt okunurdur özellikleri olduğunu unutmayın.Note that unset properties are not copied, nor are read-only properties.

Dondurulmuş olmayan bir kopyasını oluşturmak için Freezable Clone yöntemini kullanın.To create a copy of the Freezable that is not frozen, use the Clone method.

Devralanlara Notlar

Bu yöntem, GetAsFrozenCore(Freezable) kopyayı oluşturmak için sanal yöntemini kullanır.This method uses the virtual GetAsFrozenCore(Freezable) method to produce the clone.

Şunlara uygulanır

Ayrıca bkz.