エクスポート (0) 印刷
すべて展開
情報
要求されたトピックは次のとおりです。しかし、このトピックはこのライブラリには含まれていません。

DependencyObject.GetValue メソッド

2013/12/12

DependencyObject から依存関係プロパティの現在の有効値を返します。

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

public Object GetValue(
	DependencyProperty dp
)

パラメーター

dp
型: System.Windows.DependencyProperty
値を取得する対象のプロパティの DependencyProperty 識別子。

戻り値

型: System.Object
現在の有効値を返します。

例外条件
ArgumentNullException

dp は null です。

有効値とは、プロパティの値を要求している呼び出し元に対してプロパティ システムから返される値です。有効値は、プロパティ システムがプロパティ システムの値の優先順位に関係する可能性のあるすべての入力を評価した結果です。これには、プロパティを変更したコールバック、データ バインディング、スタイルとテンプレート、およびアニメーションが含まれます。

ユーザー コードでは、一般に GetValue を呼び出す必要はありません。通常、Windows Phone 依存関係プロパティまたはカスタム依存関係プロパティには、そのプロパティをラップする CLR プロパティがあり、CLR の従来の簡単な使用方法でそのプロパティ値を取得できます。CLR ラッパーではなく、GetValue を使用するシナリオとして、次の 3 つが考えられます。

  • カスタム依存関係プロパティを独自に定義している場合。CLR 用途のための独自のプロパティ get アクセサー/ラッパーを定義する一環として GetValue を呼び出します。

  • Windows Phone プロパティ システムの下位レベルを公開する API のスコープ内で処理を行っている場合。これらの API では、パラメーターまたは戻り値として DependencyProperty 値を頻繁に使用します。たとえば、コールバックを定義したり、既に DependencyProperty 識別子が渡されている他のスコープ内で処理を行う場合があります。そのスコープ内には、操作する依存関係プロパティが複数存在する可能性があります。そのような場合は、GetValue を呼び出して、既にある識別子を渡す方が簡単です。

  • DependencyProperty 識別子が添付プロパティを参照する場合 (または、参照しているのが添付プロパティであるか、CLR ラッパーを持つ依存関係プロパティであるかが明確でない場合)。添付プロパティにも、その XAML 実装パターンごとに専用の get および set アクセサーがあります。一般的に、これらのアクセサーは、よりタイプ セーフです。しかし、既に識別子がある場合は、GetValue を使用する方が便利です。

単純な依存関係プロパティの宣言を次の例に示します。新しい依存関係プロパティの CLR ラッパーの get アクセサー実装は、GetValue の呼び出しのみで構成されています。


public class Fish : Control
{
    public static readonly DependencyProperty SpeciesProperty =
    DependencyProperty.Register(
    "Species",
    typeof(string),
    typeof(Fish), null
    );
    public string Species
    {
        get { return (string)GetValue(SpeciesProperty); }
        set { SetValue(SpeciesProperty, (string)value); }
    }
}


Windows Phone OS

サポート: 8.0, 7.1, 7.0

表示:
© 2014 Microsoft