Freezable.GetAsFrozenCore(Freezable) Method

Definition

Temel (animasyonlu olmayan) özellik değerlerini kullanarak, örneği belirtilen Freezable dondurulmuş bir kopyası yapar.Makes the instance a frozen clone of the specified Freezable using base (non-animated) property values.

protected:
 virtual void GetAsFrozenCore(System::Windows::Freezable ^ sourceFreezable);
protected virtual void GetAsFrozenCore (System.Windows.Freezable sourceFreezable);
abstract member GetAsFrozenCore : System.Windows.Freezable -> unit
override this.GetAsFrozenCore : System.Windows.Freezable -> unit
Protected Overridable Sub GetAsFrozenCore (sourceFreezable As Freezable)

Parameters

sourceFreezable
Freezable

Kopyalanacak örnek.The instance to copy.

Remarks

Bu yöntem GetAsFrozen yöntemi tarafından çağrılır ve bu yöntemi geçersiz kılırken temel uygulama çağırılırken, doğrudan kodunuzun içinden çağrılmamalıdır.This method is called by the GetAsFrozen method and should not be called directly from your code, except when calling the base implementation while overriding this method. Geçerli nesnenin dondurulmuş bir kopyasını oluşturmak için, bu yöntemi doğrudan çağırmak yerine GetAsFrozen çağırın.To create a frozen copy of the current object, call GetAsFrozen instead of calling this method directly.

Notes to Inheritors

Freezable türettiğinizde, bu yöntemi geçersiz kılmanız gerekebilir.If you derive from Freezable you may need to override this method. Geçersiz kılmanın nedenleri şunlardır:Reasons to override include the following: -Türetilmiş sınıfınız, bağımlılık özellikleri aracılığıyla gösterilmeyen verilere sahiptir.- Your derived class has data that is not exposed via dependency properties.

-Türetilmiş sınıfınız yalnızca CreateInstanceCore()geçersiz kılarak gerçekleştirilebilecek ek başlatma işleri gerçekleştirmelidir.- Your derived class must perform extra initialization work that cannot be accomplished by simply overriding CreateInstanceCore(). Örneğin, türetilmiş sınıfınız ISupportInitializeuygularsa bu geçerlidir.For example, this applies if your derived class implements ISupportInitialize.

Tüm verilerini bağımlılık özelliklerinde depolayan ve ek başlatma işi gerçekleştirmesi gerekmeyen sınıfların GetAsFrozenCore(Freezable)geçersiz kılması gerekmez.Classes that store all their data in dependency properties and that do not need to perform extra initialization work do not need to override GetAsFrozenCore(Freezable).

Tüm uygulamaların bu yöntemin temel uygulamasını çağırması önemlidir.It is essential that all implementations call the base implementation of this method. Uygulamalar yalnızca varsayılan uygulama tarafından gerçekleştirilmeyen işleri gerçekleştirmelidir.Implementations should only perform work that is not performed by the default implementation. Varsayılan uygulama, tüm çözülmüş Freezable nesneleri ve tüm diğer yazılabilir kopyalarının, içerdiği tüm yerel olarak ayarlanmış özelliklerinin derin kopyalarını oluşturur.The default implementation makes deep copies of any unfrozen freezables and shallow copies of all other writable, locally set properties it contains. Nesnede veriye bağımlı bağımlılık özellikleri varsa, ifadeler kopyalanır ancak artık çözümlenmeyebilir; veri bağlantılı nesneleri kopyalama hakkında daha fazla bilgi için bkz. Freezable nesnelerine genel bakış.If the object has data-bound dependency properties, the expressions are copied but might no longer resolve; for more information about cloning data-bound objects, see Freezable Objects Overview. Nesnenin animasyonlu bağımlılık özellikleri varsa, bu özelliklerin taban (animasyonlu olmayan) değerleri kopyalanır.If the object has animated dependency properties, the base (non-animated) values of those properties are 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.

Bu yöntemi geçersiz kılarsınız, temel uygulamayı çağırmanız gerekir.If you do override this method, you must call the base implementation.

Değerler kopyalanırken Freeze() gerekmez.You do not need to Freeze() values as they are copied. Sonuç, döndürülmeden önce GetAsFrozen() tarafından dondurulur.The result is frozen by GetAsFrozen() before being returned.

Applies to

See also