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 依赖属性标识符上存在的回调的影响。

适用于