DependencyObject.SetValue method

Applies to Windows and Windows Phone

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

Syntax


public void SetValue(
  DependencyProperty dp, 
  object value
)

Parameters

dp

Type: DependencyProperty

The identifier of the dependency property to set.

value

Type: System.Object [.NET] | Platform::Object [C++]

The new local value.

Remarks

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.

Examples

This example shows a simple dependency property declaration. A call to SetValue constitutes the entirety of the set accessor implementation for the property wrapper of the new dependency property. For more examples, see Custom dependency properties.


public class Fish : Control
{
    public static readonly DependencyProperty SpeciesProperty =
    DependencyProperty.Register(
    "Species",
    typeof(String),
    typeof(Fish), null
    );
    public string Species
    {
        get { return (string)GetValue(SpeciesProperty); }
        set { SetValue(SpeciesProperty, (string)value); }
    }
}


Requirements

Minimum supported client

Windows 8

Minimum supported server

Windows Server 2012

Minimum supported phone

Windows Phone 8.1 [Windows Runtime apps only]

Namespace

Windows.UI.Xaml
Windows::UI::Xaml [C++]

Metadata

Windows.winmd

See also

DependencyObject
Custom dependency properties
Dependency properties overview
XAML user and custom controls sample

 

 

Show:
© 2014 Microsoft