DependencyObject.SetValue メソッド

定義

依存関係プロパティのローカル値を設定します。Sets the local value of a dependency property.

オーバーロード

SetValue(DependencyProperty, Object)

依存関係プロパティ識別子を指定して、該当する依存関係プロパティのローカル値を設定します。Sets the local value of a dependency property, specified by its dependency property identifier.

SetValue(DependencyPropertyKey, Object)

依存関係プロパティの DependencyPropertyKey 識別子で指定した読み取り専用の依存関係プロパティのローカル値を設定します。Sets the local value of a read-only dependency property, specified by the DependencyPropertyKey identifier of the dependency property.

SetValue(DependencyProperty, Object)

依存関係プロパティ識別子を指定して、該当する依存関係プロパティのローカル値を設定します。Sets the local value of a dependency property, specified by its dependency property identifier.

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

設定する依存関係プロパティの識別子。The identifier of the dependency property to set.

value
Object

新しいローカル値。The new local value.

例外

読み取り専用の依存関係プロパティ、またはシールされている DependencyObject 上のプロパティを変更しようとしました。Attempted to modify a read-only dependency property, or a property on a sealed DependencyObject.

value が、dp プロパティに登録されている正しい型ではありません。value was not the correct type as registered for the dp property.

注釈

指定された型が、最初に登録された依存関係プロパティに対して宣言されている型と一致しない場合、例外がスローされます。If the provided type does not match the type that is declared for the dependency property as it was originally registered, an exception is thrown. @No__t-0 パラメーターは、常に適切な型として指定する必要があります。The value parameter should always be provided as the appropriate type.

例外条件は、設定される依存関係プロパティの依存関係プロパティ識別子に存在する ValidateValueCallback コールバックによって影響を受ける可能性があります。The exception conditions are potentially influenced by the ValidateValueCallback callback that exists on the dependency property identifier of the dependency property being set. それ以外の場合、指定された値が一般的な型チェックの条件を満たさない可能性があります (たとえば、ネイティブ型が Double 型の場合に文字列を渡すなど)。Otherwise, the value provided might be failing general type-checking conditions (for example, passing a string when the native type is Double).

SetValue(DependencyPropertyKey, Object)

依存関係プロパティの DependencyPropertyKey 識別子で指定した読み取り専用の依存関係プロパティのローカル値を設定します。Sets the local value of a read-only dependency property, specified by the DependencyPropertyKey identifier of the dependency property.

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 識別子。The DependencyPropertyKey identifier of the property to set.

value
Object

新しいローカル値。The new local value.

次の例では、読み取り専用の依存関係プロパティを定義します。これは、プロパティのコンシューマーに対して必要な読み取り専用の公開、および CLRCLR ラッパーの get アクセサーを提供する @no__t 0 DependencyProperty と共に定義されます。The following example defines a read-only dependency property, along with a public static readonly DependencyProperty that provides necessary read-only exposure to property consumers, and the get accessor for the CLRCLR wrapper.

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

注釈

この署名は、通常、カスタムクラスで定義されている読み取り専用の依存関係プロパティの値を設定するときに使用されます。This signature is generally used when you set values for read-only dependency properties that are defined by your custom classes. 一般に、SetValue は、依存関係プロパティを登録した型からのみ呼び出されます。この場合、依存関係プロパティに対して決定された値を提供する内部ロジックが実装されます。Generally, SetValue is called only from the type that registered that dependency property, which implements the internal logic that provides the determined value for the dependency property. 詳細については、「読み取り専用の依存関係プロパティ」を参照してください。For more information, see Read-Only Dependency Properties.

指定された型が、最初に登録された依存関係プロパティに対して宣言されている型と一致しない場合、例外がスローされます。If the provided type does not match the type that is declared for the dependency property as it was originally registered, an exception is thrown. @No__t-0 パラメーターは、常に適切な型として指定する必要があります。The value parameter should always be provided as the appropriate type. 例外条件は、設定される依存関係プロパティの依存関係プロパティ識別子に存在する ValidateValueCallback コールバックによって影響を受ける可能性があります。The exception conditions are potentially influenced by the ValidateValueCallback callback that exists on the dependency property identifier of the dependency property being set.

適用対象