DependencyObject.SetValue Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Sets the local value of a dependency property.
Overloads
SetValue(DependencyProperty, Object) |
Sets the local value of a dependency property, specified by its dependency property identifier. |
SetValue(DependencyPropertyKey, Object) |
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)
Parameters
The identifier of the dependency property to set.
- value
- Object
The new local value.
Exceptions
Attempted to modify a read-only dependency property, or a property on a sealed DependencyObject.
value
was not the correct type as registered for the dp
property.
Remarks
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. The value
parameter should always be provided as the appropriate type.
The exception conditions are potentially influenced by the ValidateValueCallback callback that exists on the dependency property identifier of the dependency property being set. Otherwise, the value provided might be failing general type-checking conditions (for example, passing a string when the native type is Double).
Applies to
SetValue(DependencyPropertyKey, Object)
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)
Parameters
The DependencyPropertyKey identifier of the property to set.
- value
- Object
The new local value.
Examples
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 CLR 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
Remarks
This signature is generally used when you set values for read-only dependency properties that are defined by your custom classes. 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. The value
parameter should always be provided as the appropriate type. The exception conditions are potentially influenced by the ValidateValueCallback callback that exists on the dependency property identifier of the dependency property being set.