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

新しいローカル値。

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

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 依存関係プロパティ識別子に存在するコールバックの影響を受けている可能性があります。

適用対象