Freezable.GetAsFrozen メソッド

定義

基本プロパティ値 (アニメーション化されていない値) を使用して、Freezable の 固定されたコピーを作成します。Creates a frozen copy of the Freezable, using base (non-animated) property values. コピーが固定されているため、参照によって任意の固定されたサブオブジェクトがコピーされます。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

戻り値

Freezable の固定されたコピー。A frozen copy of the Freezable. コピーの IsFrozen プロパティは、true に設定されます。The copy's IsFrozen property is set to true.

例外

Freezable は、式またはアニメーション化されたプロパティを格納していないため、固定できません。The Freezable cannot be frozen because it contains expressions or animated properties.

注釈

Freezable を固定できることを確認するには、このメソッドを呼び出す前に CanFreeze プロパティを確認する必要があります。You should check the CanFreeze property before calling this method to verify that the Freezable can be frozen. このメソッドを使用することは、Clone を使用してコピーを作成し、そのコピーを Freeze メソッドで固定することと似ています。Using this method is similar to creating a copy using the Clone and then freezing it with the Freeze method.

GetAsFrozen メソッドと GetCurrentValueAsFrozen メソッドを使用すると、既に固定されている Freezable サブオブジェクトが複製されないため、コピーのパフォーマンスが向上します。これらのファイルは参照によってのみコピーされます。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.

次の表は、GetAsFrozenGetCurrentValueAsFrozen の方法の違いをまとめたものです。The following table summarizes the differences between the GetAsFrozen and GetCurrentValueAsFrozen methods.

アクションAction GetAsFrozen メソッドの動作GetAsFrozen method behavior GetCurrentValueAsFrozen メソッドの動作GetCurrentValueAsFrozen method behavior
式を持つ依存関係プロパティのコピーCopying a dependency property that has an expression メソッドは、プロパティを Freeze できないため、InvalidOperationException をスローします。The method throws an InvalidOperationException because it cannot Freeze the property. 式の現在の値はコピーされますが、式自体はコピーされません。The current value of the expression is copied, but not the expression itself.
アニメーション化した依存関係プロパティのコピーCopying an animated dependency property プロパティの基本 (アニメーション化されていない) 値がコピーされます。The property's base (non-animated) value is copied. アニメーションはコピーされません。Animations are not copied. プロパティの現在のアニメーション化された値がコピーされます。The property's current animated value is copied. アニメーションはコピーされません。Animations are not copied.

未設定のプロパティはコピーされず、読み取り専用プロパティでもありません。Note that unset properties are not copied, nor are read-only properties.

固定されていない Freezable のコピーを作成するには、Clone メソッドを使用します。To create a copy of the Freezable that is not frozen, use the Clone method.

注意 (継承者)

この方法では、仮想 GetAsFrozenCore(Freezable) メソッドを使用して複製を作成します。This method uses the virtual GetAsFrozenCore(Freezable) method to produce the clone.

適用対象

こちらもご覧ください