Freezable クラス

定義

変更可能な状態と読み取り専用 (固定) 状態を持つオブジェクトを定義します。 Freezableから派生したクラスは、詳細な変更通知を提供し、変更不可にして、自身を複製できます。

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 クラスには、変更やコピーにコストがかかるオブジェクトを使用する場合に、アプリケーションのパフォーマンスを向上させる特別な機能が用意されています。 Freezable オブジェクトの例を次に示します。

Freezable からの派生

Freezableから派生したクラスには、次の機能があります。

  • 特殊な状態: 読み取り専用 (固定) 状態と書き込み可能な状態。

  • スレッド セーフ: 固定された Freezable オブジェクトをスレッド間で共有できます。

  • 詳細な変更通知: 他の DependencyObject オブジェクトとは異なり、 Freezable オブジェクトは、サブプロパティ値が変更されたときに変更通知を提供します。

  • 簡単な複製: Freezable クラスには、ディープ クローンを生成するいくつかのメソッドが既に実装されています。

独自の Freezable オブジェクトの使用と作成の詳細については、「 Freezable オブジェクトの概要」を参照してください。

コンストラクター

名前 説明
Freezable()

Freezable派生クラスの新しいインスタンスを初期化します。

プロパティ

名前 説明
CanFreeze

オブジェクトを変更不可にできるかどうかを示す値を取得します。

DependencyObjectType

このインスタンスの CLR 型をラップする DependencyObjectType を取得します。

(継承元 DependencyObject)
Dispatcher

このDispatcherが関連付けられているDispatcherObjectを取得します。

(継承元 DispatcherObject)
IsFrozen

オブジェクトが現在変更可能かどうかを示す値を取得します。

IsSealed

このインスタンスが現在シールされているかどうかを示す値を取得します (読み取り専用)。

(継承元 DependencyObject)

メソッド

名前 説明
CheckAccess()

呼び出し元のスレッドがこの DispatcherObjectにアクセスできるかどうかを判断します。

(継承元 DispatcherObject)
ClearValue(DependencyProperty)

プロパティのローカル値をクリアします。 クリアするプロパティは、 DependencyProperty 識別子によって指定されます。

(継承元 DependencyObject)
ClearValue(DependencyPropertyKey)

読み取り専用プロパティのローカル値をクリアします。 クリアするプロパティは、 DependencyPropertyKeyによって指定されます。

(継承元 DependencyObject)
Clone()

Freezableの変更可能な複製を作成し、オブジェクトの値の詳細コピーを作成します。 オブジェクトの依存関係プロパティをコピーする場合、このメソッドは式をコピーしますが (解決されなくなる可能性があります)、アニメーションやその現在の値はコピーしません。

CloneCore(Freezable)

基本 (アニメーション化されていない) プロパティ値を使用して、インスタンスを指定した Freezable の複製 (ディープ コピー) にします。

CloneCurrentValue()

現在の値を使用して、 Freezable の変更可能な複製 (ディープ コピー) を作成します。

CloneCurrentValueCore(Freezable)

現在のプロパティ値を使用して、インスタンスを指定した Freezable の変更可能な複製 (ディープ コピー) にします。

CoerceValue(DependencyProperty)

指定した依存関係プロパティの値を強制します。 これは、呼び出し元のCoerceValueCallbackに存在する依存関係プロパティのプロパティ メタデータで指定されたDependencyObject関数を呼び出すことによって実現されます。

(継承元 DependencyObject)
CreateInstance()

Freezable クラスの新しいインスタンスを初期化します。

CreateInstanceCore()

派生クラスで実装された場合は、 Freezable 派生クラスの新しいインスタンスを作成します。

Equals(Object)

指定された DependencyObject が現在の DependencyObjectと等しいかどうかを判断します。

(継承元 DependencyObject)
Freeze()

現在のオブジェクトを変更不可にし、その IsFrozen プロパティを trueに設定します。

Freeze(Freezable, Boolean)

isChecking パラメーターがtrue場合、このメソッドは、指定したFreezableを変更不可にできるかどうかを示します。 isChecking パラメーターがfalseされている場合、このメソッドは、指定したFreezableを変更不能にしようと試み、操作が成功したかどうかを示します。

FreezeCore(Boolean)

Freezable オブジェクトを変更不可にするか、変更不可にできるかどうかをテストします。

GetAsFrozen()

基本 (アニメーション化されていない) プロパティ値を使用して、 Freezableの固定コピーを作成します。 コピーは固定されているため、固定されたサブオブジェクトは参照によってコピーされます。

GetAsFrozenCore(Freezable)

基本 (アニメーション化されていない) プロパティ値を使用して、インスタンスを指定した Freezable の固定複製にします。

GetCurrentValueAsFrozen()

現在のプロパティ値を使用して、 Freezable の固定コピーを作成します。 コピーは固定されているため、固定されたサブオブジェクトは参照によってコピーされます。

GetCurrentValueAsFrozenCore(Freezable)

現在のインスタンスを、指定した Freezableの固定複製にします。 オブジェクトにアニメーション化された依存関係プロパティがある場合は、現在のアニメーション化された値がコピーされます。

GetHashCode()

この DependencyObjectのハッシュ コードを取得します。

(継承元 DependencyObject)
GetLocalValueEnumerator()

この DependencyObjectでローカルに値が設定されている依存関係プロパティを決定するための特殊な列挙子を作成します。

(継承元 DependencyObject)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
GetValue(DependencyProperty)

DependencyObjectのこのインスタンスの依存関係プロパティの現在の有効な値を返します。

(継承元 DependencyObject)
InvalidateProperty(DependencyProperty)

指定した依存関係プロパティの有効な値を再評価します。

(継承元 DependencyObject)
MemberwiseClone()

現在の Objectの簡易コピーを作成します。

(継承元 Object)
OnChanged()

現在の Freezable オブジェクトが変更されたときに呼び出されます。

OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty)

このメンバーは、Windows Presentation Foundation (WPF) インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。

OnFreezablePropertyChanged(DependencyObject, DependencyObject)

設定したばかりの DependencyObjectType データ メンバーに対して適切なコンテキスト ポインターが確立されるようにします。

OnPropertyChanged(DependencyPropertyChangedEventArgs)

DependencyObjectOnPropertyChanged(DependencyPropertyChangedEventArgs)実装をオーバーライドして、Changed型の依存関係プロパティの変化に応じてFreezable ハンドラーも呼び出します。

ReadLocalValue(DependencyProperty)

依存関係プロパティが存在する場合は、そのローカル値を返します。

(継承元 DependencyObject)
ReadPreamble()

Freezableが有効なスレッドからアクセスされていることを確認します。 Freezableの継承子は、依存関係プロパティではないデータ メンバーを読み取る API の先頭でこのメソッドを呼び出す必要があります。

SetCurrentValue(DependencyProperty, Object)

値ソースを変更せずに依存関係プロパティの値を設定します。

(継承元 DependencyObject)
SetValue(DependencyProperty, Object)

依存関係プロパティ識別子で指定された依存関係プロパティのローカル値を設定します。

(継承元 DependencyObject)
SetValue(DependencyPropertyKey, Object)

依存関係プロパティの DependencyPropertyKey 識別子で指定された、読み取り専用の依存関係プロパティのローカル値を設定します。

(継承元 DependencyObject)
ShouldSerializeProperty(DependencyProperty)

シリアル化プロセスが指定された依存関係プロパティの値をシリアル化する必要があるかどうかを示す値を返します。

(継承元 DependencyObject)
ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)
VerifyAccess()

呼び出し元のスレッドがこの DispatcherObjectにアクセスできるように強制します。

(継承元 DispatcherObject)
WritePostscript()

ChangedFreezable イベントを発生させ、そのOnChanged() メソッドを呼び出します。 Freezableから派生するクラスは、依存関係プロパティとして格納されていないクラス メンバーを変更する API の末尾でこのメソッドを呼び出す必要があります。

WritePreamble()

Freezableが固定されていないこと、および有効なスレッド コンテキストからアクセスされていることを確認します。 Freezable 継承子は、依存関係プロパティではないデータ メンバーに書き込む API の先頭でこのメソッドを呼び出す必要があります。

イベント

名前 説明
Changed

Freezableまたはそれに含まれるオブジェクトが変更されたときに発生します。

適用対象

スレッド セーフ

この型のパブリック static メンバーはスレッド セーフです。 インスタンス メンバーがスレッド セーフであるとは限りません。

IsFrozen プロパティがfalseされている場合、Freezable オブジェクトには、作成されたスレッドからのみアクセスできます。 別のスレッドからアクセスしようとすると、 InvalidOperationExceptionがスローされます。 Invokeメソッドと BeginInvoke メソッドは、正しいスレッドへのマーシャリングのサポートを提供します。

IsFrozen プロパティがtrueされると、Freezableオブジェクトはフリー スレッドになります。 詳細については、「Freezable オブジェクトの概要」を参照してください。