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

DependencyObject.ReadLocalValue メソッド

2013/12/12

ローカル値が設定されている場合、依存関係プロパティのローカル値を返します。

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

public Object ReadLocalValue(
	DependencyProperty dp
)

パラメーター

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

戻り値

型: System.Object
ローカル値を返します。ローカル値が設定されていない場合は sentinel 値 UnsetValue を返します。

依存関係プロパティに対するほとんどの一般的な "get" 操作には、CLR ラッパーまたは GetValue を使用します。ReadLocalValue は、値がローカルに設定されていないさまざまな状況で有効値を返しません。

アニメーション、スタイル、テンプレート、既定値、またはプロパティ値の継承によって設定された値は、ローカル値とは見なされません。ただし、バインディングおよび類似の式は、評価後はローカル値と見なされます。

ローカル値が設定されていない場合、このメソッドは UnsetValue を返します。UnsetValue は、そのような場合を監視する機能であり、カスタム依存関係プロパティの値の戻り値として使用することはできません。

次の例では、ReadLocalValue を使用して既存のローカル値をチェックします。UnsetValue が返されず、ローカル値が存在する場合には、ClearValue の呼び出しによって既存のローカル値が削除されます。


public static bool ClearSetProperty(DependencyObject targetObject, DependencyProperty targetDP)
{
    if (targetObject == null || targetDP == null)
    {
        throw new ArgumentNullException();
    }
    object localValue = targetObject.ReadLocalValue(targetDP);
    if (localValue == DependencyProperty.UnsetValue)
    {
        return false;
    }
    else
    {
        targetObject.ClearValue(targetDP);
        return true;
    }
}


Windows Phone OS

サポート: 8.0, 7.1, 7.0

表示:
© 2016 Microsoft