情報
要求されたトピックは次のとおりです。しかし、このトピックはこのライブラリには含まれていません。

DependencyObject クラス

2013/12/12

Windows Phone 依存関係プロパティ システムに関連するオブジェクトを表します。DependencyObject は、UIElementGeometryFrameworkTemplateStyleResourceDictionary など、他のいくつかの重要な Windows Phone クラスの直接の基本クラスです。

System.Object
  System.Windows.DependencyObject
    詳細情報...

Namespace:  System.Windows
アセンブリ:  System.Windows (System.Windows.dll 内)

public abstract class DependencyObject

DependencyObject 型で公開されるメンバーは以下のとおりです。

  名前説明
プロテクト メソッドDependencyObjectDependencyObject クラスの新しいインスタンスを初期化します。
このページのトップへ

  名前説明
パブリック プロパティDispatcherこのオブジェクトに関連付けられている Dispatcher を取得します。
このページのトップへ

  名前説明
パブリック メソッドCheckAccess呼び出しスレッドが、このオブジェクトにアクセスできるかどうかを判断します。
パブリック メソッドClearValue依存関係プロパティのローカル値をクリアします。
パブリック メソッドEquals(Object)指定した Object が、現在の Object と等しいかどうかを判断します。 (Object から継承されます。)
プロテクト メソッドFinalizeObject がガベージ コレクションで再利用される前に、Object がリソースを解放して他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。)
パブリック メソッドGetAnimationBaseValueアニメーションがアクティブでない場合に適用される、Windows Phone 依存関係プロパティに対し設定されている基本値を返します。
パブリック メソッドGetHashCode特定の型のハッシュ関数として機能します。 (Object から継承されます。)
パブリック メソッドGetType現在のインスタンスの Type を取得します。 (Object から継承されます。)
パブリック メソッドGetValueDependencyObject から依存関係プロパティの現在の有効値を返します。
プロテクト メソッドMemberwiseClone現在の Object の簡易コピーを作成します。 (Object から継承されます。)
パブリック メソッドReadLocalValueローカル値が設定されている場合、依存関係プロパティのローカル値を返します。
パブリック メソッドSetValueDependencyObject で依存関係プロパティのローカル値を設定します。
パブリック メソッドToString現在のオブジェクトを表す文字列を返します。 (Object から継承されます。)
このページのトップへ

DependencyObject クラスは、その多数の派生クラスで Windows Phone 依存関係プロパティ システムのサービスを有効にします。依存関係プロパティの概念の概要については、「Windows Phone の依存関係プロパティ」を参照してください。

プロパティ システムの主な機能は、プロパティの値を計算し、変更された値に関するシステム通知を提供することです。プロパティ システムに関連するもう 1 つの重要なクラスは、DependencyProperty です。DependencyProperty は、依存関係プロパティをプロパティ システムへ登録することを可能にします。これに対し、基本クラスの DependencyObject は、オブジェクトで依存関係プロパティを使用および設定できるようにします。

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

  • 依存関係プロパティのホストのサポート。

  • カスタム依存関係プロパティのホスト サポート。依存関係プロパティを登録するには、Register メソッドを呼び出し、そのメソッドの戻り値を public static フィールドとして DependencyObject クラスに格納します。また、RegisterownerType パラメーターが DependencyObject の型である必要があります。

  • 添付プロパティのホスト サポート。

  • カスタム添付プロパティのホスト サポート。添付プロパティとして使用するための依存関係プロパティを登録するには、RegisterAttached メソッドを呼び出し、そのメソッドの戻り値を public static フィールドとしてクラスに格納します。

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

  • 高度なスレッド処理用のディスパッチャー API。

  • プロパティをオブジェクトの有効期間内の後日に評価される式として設定できるようにすることによる、基本的なデータ バインドおよびスタイル設定のサポート。

ほとんどのアプリケーション シナリオでは、DependencyObject からクラスを直接派生させることは一般的ではありません。代わりに、特定のコントロール、いずれかのコントロール基本クラス (ContentControlControlItemsControl)、FrameworkElement、または UI に関連する非コントロール クラス (PanelGrid など) から派生させます。DependencyObject からの派生は、依存関係プロパティをアクティブにする必要があるビジネス オブジェクトまたはデータ ストレージ オブジェクトを定義する場合や、添付プロパティを所有するサービス サポート クラスを作成する場合に適しています。しかし、基本的なデータ オブジェクトについては、代わりに INotifyPropertyChanged インターフェイスを実装します。このインターフェイスを実装することで、任意のオブジェクトをデータの基盤にすることができるからです。詳細については、「Windows Phone のデータ バインディング」を参照してください。

DependencyObject の依存関係プロパティは、データ バインディングのターゲットにすることができます。XAML では、これらのプロパティの Binding 属性の値を指定できます。これは、FrameworkElement でデータ バインド プロパティがサポートされるその他の場合と同じです。ただし、DependencyObject は、DataContextSetBinding を実装していません。したがって、データ コンテキストを継承するには、そのデータ コンテキストを定義する包含元の FrameworkElement が必要です。詳細については、「Windows Phone のデータ バインディング」または「Windows Phone の依存関係プロパティ」を参照してください。

次の例では、DependencyObject から派生するクラスを定義し、識別子フィールドと共に添付プロパティを定義します。このクラスに対するシナリオは、次のとおりです。このクラスはサービス クラスであり、他の UI 要素が XAML で設定できる添付プロパティを宣言します。このサービスは、それらの UI 要素の添付プロパティ値に対して実行時に操作を行う可能性があります。


public abstract class AquariumServices : DependencyObject
{
    public enum Bouyancy {Floats,Sinks,Drifts}

    public static readonly DependencyProperty BouyancyProperty = DependencyProperty.RegisterAttached(
      "Bouyancy",
      typeof(Bouyancy),
      typeof(AquariumServices),
      new PropertyMetadata(Bouyancy.Floats)
    );
    public static void SetBouyancy(DependencyObject element, Bouyancy value)
    {
        element.SetValue(BouyancyProperty, value);
    }
    public static Bouyancy GetBouyancy(DependencyObject element)
    {
        return (Bouyancy)element.GetValue(BouyancyProperty);
    }
}


Windows Phone OS

サポート: 8.0, 7.1, 7.0

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

System.Object
  System.Windows.DependencyObject
    Microsoft.Phone.Maps.Controls.MapElement
    Microsoft.Phone.Maps.Controls.MapOverlay
    Microsoft.Phone.Shell.ProgressIndicator
    Microsoft.Phone.Shell.SystemTray
    System.Windows.AssemblyPart
    System.Windows.Automation.Peers.AutomationPeer
    System.Windows.Controls.ColumnDefinition
    System.Windows.Controls.MultiScaleSubImage
    System.Windows.Controls.RowDefinition
    System.Windows.Data.CollectionViewSource
    System.Windows.DependencyObjectCollection<T>
    System.Windows.Deployment
    System.Windows.Documents.TextElement
    System.Windows.ExternalPart
    System.Windows.FrameworkTemplate
    System.Windows.Icon
    System.Windows.Ink.DrawingAttributes
    System.Windows.Ink.Stroke
    System.Windows.Input.InputMethod
    System.Windows.Input.InputScope
    System.Windows.Input.InputScopeName
    System.Windows.Input.ManipulationDelta
    System.Windows.Input.ManipulationVelocities
    System.Windows.Input.TouchDevice
    System.Windows.Input.TouchPoint
    System.Windows.Media.Animation.ColorKeyFrame
    System.Windows.Media.Animation.DoubleKeyFrame
    System.Windows.Media.Animation.EasingFunctionBase
    System.Windows.Media.Animation.KeySpline
    System.Windows.Media.Animation.ObjectKeyFrame
    System.Windows.Media.Animation.PointKeyFrame
    System.Windows.Media.Animation.Timeline
    System.Windows.Media.Brush
    System.Windows.Media.CacheMode
    System.Windows.Media.CaptureDevice
    System.Windows.Media.CaptureSource
    System.Windows.Media.GeneralTransform
    System.Windows.Media.Geometry
    System.Windows.Media.GradientStop
    System.Windows.Media.ImageSource
    System.Windows.Media.MultiScaleTileSource
    System.Windows.Media.PathFigure
    System.Windows.Media.PathSegment
    System.Windows.Media.Projection
    System.Windows.Media.TimelineMarker
    System.Windows.Navigation.JournalEntry
    System.Windows.PresentationFrameworkCollection<T>
    System.Windows.ResourceDictionary
    System.Windows.SetterBase
    System.Windows.Style
    System.Windows.TriggerAction
    System.Windows.TriggerBase
    System.Windows.UIElement
    System.Windows.VisualState
    System.Windows.VisualStateGroup
    System.Windows.VisualStateManager
    System.Windows.VisualTransition

表示: