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

DependencyObject.ReadLocalValue メソッド

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

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

public Object ReadLocalValue(
	DependencyProperty dp
)

パラメーター

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

戻り値

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

CLR ラッパー (GetValue) を使用して、依存関係プロパティに対する最も一般的な "get" 操作を行う必要があります。 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;
    }
}


Silverlight

サポート対象 : 5、4、3

Silverlight for Windows Phone

サポート対象 : Windows Phone OS 7.1、Windows Phone OS 7.0

Silverlight でサポートされるオペレーティング システムの詳細については、「サポートされているオペレーティング システムとブラウザー」を参照してください。

コミュニティの追加

追加
表示: