DependencyObject クラス
TOC
目次を折りたたむ
目次を展開する
この記事は機械翻訳されています。英語版の記事を表示するには、[英語] のチェック ボックスをオンにしてください。また、テキストにマウス ポインターを合わせると、ポップアップ ウィンドウに英語のテキストを表示することもできます。
翻訳
英語

DependencyObject クラス

 

依存関係プロパティ システムに関連するオブジェクトを表します。

名前空間:   System.Windows
アセンブリ:  WindowsBase (WindowsBase.dll 内)


[NameScopePropertyAttribute("NameScope", typeof(NameScope))]
public class DependencyObject : DispatcherObject

名前説明
System_CAPS_pubmethodDependencyObject()

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

名前説明
System_CAPS_pubpropertyDependencyObjectType

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

System_CAPS_pubpropertyDispatcher

この DispatcherObject が関連付けられている Dispatcher を取得します。(DispatcherObject から継承されました。)

System_CAPS_pubpropertyIsSealed

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

名前説明
System_CAPS_pubmethodCheckAccess()

呼び出し元のスレッドがこの DispatcherObject にアクセスできるかどうかを確認します。(DispatcherObject から継承されました。)

System_CAPS_pubmethodClearValue(DependencyProperty)

プロパティのローカル値を消去します。消去するプロパティは、DependencyProperty 識別子で指定します。

System_CAPS_pubmethodClearValue(DependencyPropertyKey)

読み取り専用プロパティのローカル値を消去します。消去するプロパティは、DependencyPropertyKey で指定します。

System_CAPS_pubmethodCoerceValue(DependencyProperty)

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

System_CAPS_pubmethodEquals(Object)

指定した DependencyObject が現在の DependencyObject と等しいかどうかを判断します。(Object.Equals(Object) をオーバーライドする。)

System_CAPS_protmethodFinalize()

オブジェクトがガベジ コレクションにより収集される前に、そのオブジェクトがリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されました。)

System_CAPS_pubmethodGetHashCode()

この DependencyObject のハッシュ コードを取得します。(Object.GetHashCode() をオーバーライドする。)

System_CAPS_pubmethodGetLocalValueEnumerator()

どの依存関係プロパティがこの DependencyObject 上にローカルに設定された値を持つかを確認するための、専用の列挙子を作成します。

System_CAPS_pubmethodGetType()

現在のインスタンスの Type を取得します。(Object から継承されました。)

System_CAPS_pubmethodGetValue(DependencyProperty)

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

System_CAPS_pubmethodInvalidateProperty(DependencyProperty)

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

System_CAPS_protmethodMemberwiseClone()

現在の Object の簡易コピーを作成します。(Object から継承されました。)

System_CAPS_protmethodOnPropertyChanged(DependencyPropertyChangedEventArgs)

この DependencyObject の依存関係プロパティの有効値が更新された場合に必ず呼び出されます。変更が発生した特定の依存関係プロパティがイベント データで報告されます。

System_CAPS_pubmethodReadLocalValue(DependencyProperty)

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

System_CAPS_pubmethodSetCurrentValue(DependencyProperty, Object)

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

System_CAPS_pubmethodSetValue(DependencyProperty, Object)

依存関係プロパティ識別子を指定して、該当する依存関係プロパティのローカル値を設定します。

System_CAPS_pubmethodSetValue(DependencyPropertyKey, Object)

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

System_CAPS_protmethodShouldSerializeProperty(DependencyProperty)

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

System_CAPS_pubmethodToString()

現在のオブジェクトを表す文字列を返します。 (Object から継承されました。)

System_CAPS_pubmethodVerifyAccess()

呼び出し元のスレッドがこの DispatcherObject にアクセスできるように強制します。(DispatcherObject から継承されました。)

DependencyObject クラスは、その多数の派生クラスにおいて Windows Presentation Foundation (WPF) プロパティ システムのサービスを有効にします。

プロパティ システムの主な機能は、プロパティの値を計算し、変更された値に関するシステム通知を提供することです。プロパティ システムに参加する別の主要クラスは DependencyPropertyです。 DependencyProperty は プロパティ システムの基本クラスは、オブジェクトが依存関係プロパティを使用できるようにすると同時に、依存関係プロパティの登録を有効にし、各依存関係プロパティの識別子と、単一 DependencyObject 情報を提供します。

DependencyObject のサービスと特性は次のとおりです。

  • 依存関係プロパティのホストのサポート。 Register メソッドを呼び出し、そのメソッドの戻り値を public static フィールドとしてクラスに格納することによって、依存関係プロパティを登録します。

  • 添付プロパティのホストのサポート。 RegisterAttached メソッドを呼び出し、そのメソッドの戻り値を public static の読み取り専用フィールドとしてクラスに格納することによって、添付プロパティを登録します (また、追加のメンバー要件もあります。これは添付プロパティの WPF 固有の実装です。詳細については、「Attached Properties Overview」を参照してください。登録した添付プロパティは、DependencyObject から派生する任意のクラスで設定できます。

  • DependencyObject に存在する依存関係プロパティの値を取得、設定、および消去するためのユーティリティ メソッド。

  • 依存関係プロパティまたは添付プロパティに関するメタデータ、強制値のサポート、プロパティ変更通知、およびオーバーライド コールバック。 DependencyObject クラスは、依存関係プロパティのプロパティ メタデータを所有者別にする場合にも役立ちます。

  • ContentElementFreezable、または Visual から派生したクラスの共通基本クラス (別の基本要素クラスである UIElement は、Visual を含むクラス階層構造を持ちます)。

DependencyObject から派生させて、新しい抽象クラスを作成する例を次に示します。続いてそのクラスに添付プロパティを登録し、その添付プロパティのサポート メンバーを取り込みます。

public abstract class AquariumObject3 : DependencyObject
{
    public enum Bouyancy
    {
        Floats,
        Sinks,
        Drifts
    }
    public static readonly DependencyProperty BouyancyProperty = DependencyProperty.RegisterAttached(
      "Bouyancy",
      typeof(Bouyancy),
      typeof(AquariumObject3),
      new FrameworkPropertyMetadata(Bouyancy.Floats, FrameworkPropertyMetadataOptions.AffectsArrange),
      new ValidateValueCallback(ValidateBouyancy)
    );
    public static void SetBouyancy(UIElement element, Bouyancy value)
    {
        element.SetValue(BouyancyProperty, value);
    }
    public static Bouyancy GetBouyancy(UIElement element)
    {
        return (Bouyancy)element.GetValue(BouyancyProperty);
    }
    private static bool ValidateBouyancy(object value)
    {
        Bouyancy bTest = (Bouyancy) value;
        return (bTest == Bouyancy.Floats || bTest == Bouyancy.Drifts || bTest==Bouyancy.Sinks);
    }
    public static readonly DependencyProperty IsDirtyProperty = DependencyProperty.Register(
      "IsDirty",
      typeof(Boolean),
      typeof(AquariumObject3)
    );
}

.NET Framework
3.0 から利用可能
Silverlight
2.0 から利用可能
Windows Phone Silverlight
7.0 から利用可能

すべてのパブリック構造体 (Shared Visual Basic では) メンバーは、スレッド セーフです。 Aインスタンス メンバーの場合は、スレッド セーフであるとは限りません。

トップに戻る
表示:
© 2016 Microsoft