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 readonly DependencyProperty 定義します。

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 を実装します。 詳細については、「読み取り専用の依存関係プロパティ」を参照してください。

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

適用対象