Freezable Freezable Freezable Freezable Class

定義

変更可能な状態と読み取り専用 (固定) の状態を持つオブジェクトを定義します。Defines an object that has a modifiable state and a read-only (frozen) state. Freezable から派生するクラスは、詳細な変更通知を提供し、変更不可にすることが可能で、自身のクローンを作成できます。Classes that derive from Freezable provide detailed change notification, can be made immutable, and can clone themselves.

public ref class Freezable abstract : System::Windows::DependencyObject
public abstract class Freezable : System.Windows.DependencyObject
type Freezable = class
    inherit DependencyObject
Public MustInherit Class Freezable
Inherits DependencyObject
継承
派生

注釈

Freezableクラスは変更またはコピーに費用がオブジェクトを使用するのに役立つ特別な機能がアプリケーションのパフォーマンスを向上を提供します。The Freezable class provides special features that can help improve application performance when using objects that are expensive to modify or copy. 例のFreezableオブジェクトには、次が含まれます。Examples of Freezable objects include the following:

Freezable から派生します。Deriving From Freezable

派生したクラスFreezable次の機能を取得します。A class that derives from Freezable gains the following features:

  • 特殊な状態。 読み取り専用 (固定) の状態と、書き込み可能な状態です。Special states: a read-only (frozen) state and a writable state.

  • スレッド セーフ。 固定されたFreezableオブジェクトをスレッド間で共有できます。Thread safety: a frozen Freezable object can be shared across threads.

  • 変更の詳細についての通知:その他とは異なりDependencyObject、オブジェクト、Freezableサブ プロパティの値を変更するときに、オブジェクトは変更通知を提供します。Detailed change notification: Unlike other DependencyObject objects, a Freezable object provides change notifications when sub-property values change.

  • 簡単に複製: Freezable クラスは既にディープ クローンを生成するいくつかのメソッドを実装します。Easy cloning: the Freezable class has already implemented several methods that produce deep clones.

使用して、独自に作成についてFreezable、オブジェクトを参照してくださいFreezable オブジェクトの概要します。For information on using and creating your own Freezable objects, see Freezable Objects Overview.

コンストラクター

Freezable() Freezable() Freezable() Freezable()

新しいインスタンスを初期化するFreezableクラスを派生します。Initializes a new instance of a Freezable derived class.

プロパティ

CanFreeze CanFreeze CanFreeze CanFreeze

オブジェクトを変更不可能にできるかどうかを示す値を取得します。Gets a value that indicates whether the object can be made unmodifiable.

DependencyObjectType DependencyObjectType DependencyObjectType DependencyObjectType

このインスタンスの CLRCLR 型をラップする DependencyObjectType を取得します。Gets the DependencyObjectType that wraps the CLRCLR type of this instance.

(Inherited from DependencyObject)
Dispatcher Dispatcher Dispatcher Dispatcher

取得、DispatcherこのDispatcherObjectに関連付けられています。Gets the Dispatcher this DispatcherObject is associated with.

(Inherited from DispatcherObject)
IsFrozen IsFrozen IsFrozen IsFrozen

オブジェクトが変更可能かどうかを示す値を取得します。Gets a value that indicates whether the object is currently modifiable.

IsSealed IsSealed IsSealed IsSealed

このインスタンスが現在シールされている (読み取り専用である) かどうかを示す値を取得します。Gets a value that indicates whether this instance is currently sealed (read-only).

(Inherited from DependencyObject)

メソッド

CheckAccess() CheckAccess() CheckAccess() CheckAccess()

呼び出し元のスレッドが、これに対するアクセス権を持つかどうかを判断しますDispatcherObjectします。Determines whether the calling thread has access to this DispatcherObject.

(Inherited from DispatcherObject)
ClearValue(DependencyProperty) ClearValue(DependencyProperty) ClearValue(DependencyProperty) ClearValue(DependencyProperty)

プロパティのローカル値をクリアします。Clears the local value of a property. クリアするプロパティは DependencyProperty 識別子で指定されます。The property to be cleared is specified by a DependencyProperty identifier.

(Inherited from DependencyObject)
ClearValue(DependencyPropertyKey) ClearValue(DependencyPropertyKey) ClearValue(DependencyPropertyKey) ClearValue(DependencyPropertyKey)

読み取り専用プロパティのローカル値を消去します。Clears the local value of a read-only property. 消去するプロパティは、DependencyPropertyKey で指定します。The property to be cleared is specified by a DependencyPropertyKey.

(Inherited from DependencyObject)
Clone() Clone() Clone() Clone()

Freezable の変更可能な複製を作成し、オブジェクトの値の詳細コピーを作成します。Creates a modifiable clone of the Freezable, making deep copies of the object's values. このメソッドは、オブジェクトの依存関係プロパティをコピーするときに式をコピーしますが (コピーされた式は解決されなくなる場合があります)、アニメーションやその現在の値はコピーしません。When copying the object's dependency properties, this method copies expressions (which might no longer resolve) but not animations or their current values.

CloneCore(Freezable) CloneCore(Freezable) CloneCore(Freezable) CloneCore(Freezable)

基本 (アニメーション化されていない) プロパティ値を使用して、インスタンスを、指定した Freezable の複製 (詳細コピー) にします。Makes the instance a clone (deep copy) of the specified Freezable using base (non-animated) property values.

CloneCurrentValue() CloneCurrentValue() CloneCurrentValue() CloneCurrentValue()

変更可能な複製 (詳細コピー) を作成し、Freezableその現在の値を使用します。Creates a modifiable clone (deep copy) of the Freezable using its current values.

CloneCurrentValueCore(Freezable) CloneCurrentValueCore(Freezable) CloneCurrentValueCore(Freezable) CloneCurrentValueCore(Freezable)

現在のプロパティ値を使用して、インスタンスを、指定した Freezable の変更可能な複製 (詳細コピー) にします。Makes the instance a modifiable clone (deep copy) of the specified Freezable using current property values.

CoerceValue(DependencyProperty) CoerceValue(DependencyProperty) CoerceValue(DependencyProperty) CoerceValue(DependencyProperty)

指定した依存関係プロパティの値を強制します。Coerces the value of the specified dependency property. これは、呼び出し元の DependencyObject の依存関係プロパティのプロパティ メタデータで指定されている CoerceValueCallback 関数を呼び出すことによって実現されます。This is accomplished by invoking any CoerceValueCallback function specified in property metadata for the dependency property as it exists on the calling DependencyObject.

(Inherited from DependencyObject)
CreateInstance() CreateInstance() CreateInstance() CreateInstance()

Freezable クラスの新しいインスタンスを初期化します。Initializes a new instance of the Freezable class.

CreateInstanceCore() CreateInstanceCore() CreateInstanceCore() CreateInstanceCore()

派生クラスとして実装された場合は、新しいインスタンスを作成、Freezableクラスを派生します。When implemented in a derived class, creates a new instance of the Freezable derived class.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

指定した DependencyObject が現在の DependencyObject と等しいかどうかを判断します。Determines whether a provided DependencyObject is equivalent to the current DependencyObject.

(Inherited from DependencyObject)
Freeze() Freeze() Freeze() Freeze()

現在のオブジェクトを変更不可能にし、その IsFrozen プロパティを true に設定します。Makes the current object unmodifiable and sets its IsFrozen property to true.

Freeze(Freezable, Boolean) Freeze(Freezable, Boolean) Freeze(Freezable, Boolean) Freeze(Freezable, Boolean)

場合、isCheckingパラメーターがtrue、このメソッドを示すかどうか、指定したFreezable不可能にできます。If the isChecking parameter is true, this method indicates whether the specified Freezable can be made unmodifiable. 場合、isCheckingパラメーターがfalse、このメソッドが、指定したことをしようとしています。Freezable変更不可能な状態と、操作が成功したかどうかを示します。If the isChecking parameter is false, this method attempts to make the specified Freezable unmodifiable and indicates whether the operation succeeded.

FreezeCore(Boolean) FreezeCore(Boolean) FreezeCore(Boolean) FreezeCore(Boolean)

により、Freezable変更不可能な状態のオブジェクトまたはその不可能にできるかどうかをテストします。Makes the Freezable object unmodifiable or tests whether it can be made unmodifiable.

GetAsFrozen() GetAsFrozen() GetAsFrozen() 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.

GetAsFrozenCore(Freezable) GetAsFrozenCore(Freezable) GetAsFrozenCore(Freezable) GetAsFrozenCore(Freezable)

基本プロパティ値 (アニメーション化されていない値) を使用して、インスタンスを、指定した Freezable の固定された複製にします。Makes the instance a frozen clone of the specified Freezable using base (non-animated) property values.

GetCurrentValueAsFrozen() GetCurrentValueAsFrozen() GetCurrentValueAsFrozen() GetCurrentValueAsFrozen()

固定されたコピーを作成し、Freezableプロパティの現在の値を使用します。Creates a frozen copy of the Freezable using current property values. コピーが固定されているために、参照によって任意の固定されたサブオブジェクトがコピーされます。Because the copy is frozen, any frozen sub-objects are copied by reference.

GetCurrentValueAsFrozenCore(Freezable) GetCurrentValueAsFrozenCore(Freezable) GetCurrentValueAsFrozenCore(Freezable) GetCurrentValueAsFrozenCore(Freezable)

現在のインスタンスを、指定した Freezable の固定された複製にします。Makes the current instance a frozen clone of the specified Freezable. オブジェクトに、アニメーション化された依存関係プロパティが存在する場合、現在アニメーション化されている値がコピーされます。If the object has animated dependency properties, their current animated values are copied.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

この DependencyObject のハッシュ コードを取得します。Gets a hash code for this DependencyObject.

(Inherited from DependencyObject)
GetLocalValueEnumerator() GetLocalValueEnumerator() GetLocalValueEnumerator() GetLocalValueEnumerator()

どの依存関係プロパティがこの DependencyObject 上にローカルに設定された値を持つかを確認するための、専用の列挙子を作成します。Creates a specialized enumerator for determining which dependency properties have locally set values on this DependencyObject.

(Inherited from DependencyObject)
GetType() GetType() GetType() GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(Inherited from Object)
GetValue(DependencyProperty) GetValue(DependencyProperty) GetValue(DependencyProperty) GetValue(DependencyProperty)

DependencyObject のこのインスタンスにある依存関係プロパティの現在の有効値を返します。Returns the current effective value of a dependency property on this instance of a DependencyObject.

(Inherited from DependencyObject)
InvalidateProperty(DependencyProperty) InvalidateProperty(DependencyProperty) InvalidateProperty(DependencyProperty) InvalidateProperty(DependencyProperty)

指定した依存関係プロパティの有効値を再評価します。Re-evaluates the effective value for the specified dependency property

(Inherited from DependencyObject)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(Inherited from Object)
OnChanged() OnChanged() OnChanged() OnChanged()

現在の Freezable オブジェクトの変更時に呼び出されます。Called when the current Freezable object is modified.

OnFreezablePropertyChanged(DependencyObject, DependencyObject) OnFreezablePropertyChanged(DependencyObject, DependencyObject) OnFreezablePropertyChanged(DependencyObject, DependencyObject) OnFreezablePropertyChanged(DependencyObject, DependencyObject)

適切なコンテキスト ポインターが確立されているように、DependencyObjectTypeが設定されているデータ メンバー。Ensures that appropriate context pointers are established for a DependencyObjectType data member that has just been set.

OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty) OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty) OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty) OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty)

このメンバーは、Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) インフラストラクチャをサポートしますが、独自に作成したコードから直接使用するためのものではありません。This member supports the Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) infrastructure and is not intended to be used directly from your code.

OnPropertyChanged(DependencyPropertyChangedEventArgs) OnPropertyChanged(DependencyPropertyChangedEventArgs) OnPropertyChanged(DependencyPropertyChangedEventArgs) OnPropertyChanged(DependencyPropertyChangedEventArgs)

OnPropertyChanged(DependencyPropertyChangedEventArgs)DependencyObject 実装をオーバーライドして、さらに型 Freezable の変化する依存関係プロパティへの応答として任意の Changed ハンドラーも呼び出します。Overrides the DependencyObject implementation of OnPropertyChanged(DependencyPropertyChangedEventArgs) to also invoke any Changed handlers in response to a changing dependency property of type Freezable.

ReadLocalValue(DependencyProperty) ReadLocalValue(DependencyProperty) ReadLocalValue(DependencyProperty) ReadLocalValue(DependencyProperty)

ローカルの依存関係プロパティの値を返します (存在する場合)。Returns the local value of a dependency property, if it exists.

(Inherited from DependencyObject)
ReadPreamble() ReadPreamble() ReadPreamble() ReadPreamble()

により、Freezable有効なスレッドからアクセスされています。Ensures that the Freezable is being accessed from a valid thread. 継承元Freezableいずれかの先頭にこのメソッドを呼び出す必要がありますAPIAPI依存関係プロパティではないデータ メンバーを読み取る。Inheritors of Freezable must call this method at the beginning of any APIAPI that reads data members that are not dependency properties.

SetCurrentValue(DependencyProperty, Object) SetCurrentValue(DependencyProperty, Object) SetCurrentValue(DependencyProperty, Object) SetCurrentValue(DependencyProperty, Object)

依存関係プロパティ値のソースを変更せずにその値を設定します。Sets the value of a dependency property without changing its value source.

(Inherited from DependencyObject)
SetValue(DependencyProperty, Object) SetValue(DependencyProperty, Object) SetValue(DependencyProperty, Object) SetValue(DependencyProperty, Object)

依存関係プロパティ識別子を指定して、該当する依存関係プロパティのローカル値を設定します。Sets the local value of a dependency property, specified by its dependency property identifier.

(Inherited from DependencyObject)
SetValue(DependencyPropertyKey, Object) SetValue(DependencyPropertyKey, Object) SetValue(DependencyPropertyKey, Object) SetValue(DependencyPropertyKey, Object)

依存関係プロパティの DependencyPropertyKey 識別子で指定した読み取り専用の依存関係プロパティのローカル値を設定します。Sets the local value of a read-only dependency property, specified by the DependencyPropertyKey identifier of the dependency property.

(Inherited from DependencyObject)
ShouldSerializeProperty(DependencyProperty) ShouldSerializeProperty(DependencyProperty) ShouldSerializeProperty(DependencyProperty) ShouldSerializeProperty(DependencyProperty)

シリアル化プロセスが、指定された依存関係プロパティの値をシリアル化する必要があるかどうかを示す値を返します。Returns a value that indicates whether serialization processes should serialize the value for the provided dependency property.

(Inherited from DependencyObject)
ToString() ToString() ToString() ToString()

現在のオブジェクトを表す文字列を返します。Returns a string that represents the current object.

(Inherited from Object)
VerifyAccess() VerifyAccess() VerifyAccess() VerifyAccess()

呼び出し元のスレッドがこのへのアクセスを強制DispatcherObjectします。Enforces that the calling thread has access to this DispatcherObject.

(Inherited from DispatcherObject)
WritePostscript() WritePostscript() WritePostscript() WritePostscript()

FreezableChanged イベントを発生させ、その OnChanged() メソッドを呼び出します。Raises the Changed event for the Freezable and invokes its OnChanged() method. Freezable から派生するクラスは、依存関係プロパティとして格納されていないクラス メンバーを変更するすべての API の終了時に、このメソッドを呼び出す必要があります。Classes that derive from Freezable should call this method at the end of any API that modifies class members that are not stored as dependency properties.

WritePreamble() WritePreamble() WritePreamble() WritePreamble()

検証が行われます、Freezableが固定されてし、有効なスレッド コンテキストからアクセスされていること。Verifies that the Freezable is not frozen and that it is being accessed from a valid threading context. Freezable 継承クラスは、いずれかの先頭にこのメソッドを呼び出す必要がありますAPIAPI依存関係プロパティではないデータ メンバーに書き込みます。Freezable inheritors should call this method at the beginning of any APIAPI that writes to data members that are not dependency properties.

イベント

Changed Changed Changed Changed

発生したときに、Freezableが含まれているオブジェクトが変更されたか。Occurs when the Freezable or an object it contains is modified.

適用対象

スレッド セーフ

すべてのパブリックstaticこの型のメンバーはスレッド セーフです。Any public static members of this type are thread safe. インスタンス メンバーの場合は、スレッド セーフであるとは限りません。Any instance members are not guaranteed to be thread safe.

ときに、IsFrozenプロパティはfalseFreezableオブジェクトが作成されたスレッドからのみアクセスできます。When the IsFrozen property is false, a Freezable object can be accessed only from the thread on which it was created. 別のスレッドがスローされますからアクセスしようとして、InvalidOperationExceptionします。Attempting to access it from another thread throws an InvalidOperationException. InvokeBeginInvokeメソッドは、正しいスレッドにマーシャ リングのサポートを提供します。The Invoke and BeginInvoke methods provide support for marshaling to the correct thread.

ときに、IsFrozenプロパティはtrueFreezableオブジェクトは、フリー スレッドします。When their IsFrozen property is true, Freezable objects are free-threaded. 詳細については、「Freezable オブジェクトの概要」を参照してください。For more information, see Freezable Objects Overview.