DependencyObject.SetValue 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
设置依赖属性的本地值。
重载
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)
参数
要设置的依赖属性的标识符。
- 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)
参数
要设置的属性 DependencyPropertyKey 标识符。
- value
- Object
新的本地值。
示例
以下示例定义只读依赖属性,以及提供对属性使用者的必要只读公开的 public static readonly
DependencyProperty,以及 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,该类型实现为依赖属性提供确定值的内部逻辑。 有关详细信息,请参阅 Read-Only 依赖项属性。
如果提供的类型与最初注册的依赖属性声明的类型不匹配,则会引发异常。 应始终提供 value
参数作为适当的类型。 异常条件可能会受到 ValidateValueCallback 回调的影响,该回调存在于所设置的依赖属性的依赖属性标识符上。