次の方法で共有


DependencyObject.SetValue メソッド

定義

依存関係プロパティのローカル値を設定します。

オーバーロード

SetValue(DependencyProperty, Object)

依存関係プロパティ識別子で指定された依存関係プロパティのローカル値を設定します。

SetValue(DependencyPropertyKey, Object)

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

SetValue(DependencyProperty, Object)

依存関係プロパティ識別子で指定された依存関係プロパティのローカル値を設定します。

public:
 void SetValue(System::Windows::DependencyProperty ^ dp, System::Object ^ value);
public void SetValue (System.Windows.DependencyProperty dp, object value);
member this.SetValue : System.Windows.DependencyProperty * obj -> unit
Public Sub SetValue (dp As DependencyProperty, value As Object)

パラメーター

dp
DependencyProperty

設定する依存関係プロパティの識別子。

value
Object

新しいローカル値。

例外

読み取り専用の依存関係プロパティ、またはシールされた DependencyObjectのプロパティを変更しようとしました。

value は、dp プロパティに登録されている正しい型ではありません。

注釈

指定された型が、最初に登録された依存関係プロパティに対して宣言された型と一致しない場合は、例外がスローされます。 value パラメーターは、常に適切な型として指定する必要があります。

例外条件は、設定されている依存関係プロパティの依存関係プロパティ識別子に存在する ValidateValueCallback コールバックの影響を受けている可能性があります。 それ以外の場合、指定された値は、一般的な型チェック条件 (ネイティブ型が Double の場合に文字列を渡すなど) で失敗する可能性があります。

適用対象

SetValue(DependencyPropertyKey, Object)

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

public:
 void SetValue(System::Windows::DependencyPropertyKey ^ key, System::Object ^ value);
public void SetValue (System.Windows.DependencyPropertyKey key, object value);
member this.SetValue : System.Windows.DependencyPropertyKey * obj -> unit
Public Sub SetValue (key As DependencyPropertyKey, value As Object)

パラメーター

key
DependencyPropertyKey

設定するプロパティの DependencyPropertyKey 識別子。

value
Object

新しいローカル値。

次の例では、読み取り専用の依存関係プロパティと、プロパティ コンシューマーに必要な読み取り専用の公開と CLR ラッパーの get アクセサーを提供する public static readonlyDependencyProperty を定義します。

internal static readonly DependencyPropertyKey AquariumSizeKey = DependencyProperty.RegisterReadOnly(
  "AquariumSize",
  typeof(double),
  typeof(Aquarium),
  new PropertyMetadata(double.NaN)
);
public static readonly DependencyProperty AquariumSizeProperty =
  AquariumSizeKey.DependencyProperty;
public double AquariumSize
{
  get { return (double)GetValue(AquariumSizeProperty); }
}
Friend Shared ReadOnly AquariumSizeKey As DependencyPropertyKey = DependencyProperty.RegisterReadOnly("AquariumSize", GetType(Double), GetType(Aquarium), New PropertyMetadata(Double.NaN))
Public Shared ReadOnly AquariumSizeProperty As DependencyProperty = AquariumSizeKey.DependencyProperty
Public ReadOnly Property AquariumSize() As Double
    Get
        Return CDbl(GetValue(AquariumSizeProperty))
    End Get
End Property

注釈

このシグネチャは、通常、カスタム クラスによって定義される読み取り専用の依存関係プロパティの値を設定するときに使用されます。 一般に、SetValue は、依存関係プロパティを登録した型からのみ呼び出されます。依存関係プロパティに対して決定された値を提供する内部ロジックを実装します。 詳細については、「Read-Only 依存関係プロパティの」を参照してください。

指定された型が、最初に登録された依存関係プロパティに対して宣言された型と一致しない場合は、例外がスローされます。 value パラメーターは、常に適切な型として指定する必要があります。 例外条件は、設定されている依存関係プロパティの依存関係プロパティ識別子に存在する ValidateValueCallback コールバックの影響を受けている可能性があります。

適用対象