Share via

DependencyObject.SetValue(DependencyProperty, Object) Method


Sets the local value of a dependency property on a DependencyObject.

 virtual void SetValue(DependencyProperty ^ dp, Platform::Object ^ value) = SetValue;
void SetValue(DependencyProperty const& dp, IInspectable const& value);
public void SetValue(DependencyProperty dp, object value);
function setValue(dp, value)
Public Sub SetValue (dp As DependencyProperty, value As Object)



The identifier of the dependency property to set.




The new local value.


If the provided value type does not match the type that is declared for the dependency property as it was originally registered, an exception is thrown.

Not all Windows Runtime properties as used by XAML are dependency properties. A DependencyProperty identifier needs to exist and it must be available as a public property of an owning object, typically the object that registered the property.

For app user-code, calling SetValue is not typically necessary. Usually, a Windows Runtime dependency property or a custom dependency property has a conventional property that wraps it, and you can just set the property value through a conventional dotted usage. Cases where you might still use SetValue are:

  • You are defining a custom dependency property. You will call SetValue as part of defining your own property set accessor for a conventional property usage. For more info, see Custom dependency properties.
  • You are defining a callback or are in some other scope where you are already being passed a DependencyProperty identifier, and it is possible that more than one dependency property exists that you might want to interact with in that scope. In these cases it is probably simpler to call SetValue, passing the identifier.

Applies to

See also