DependencyProperty from string

sudarsanyes picture sudarsanyes · Jun 9, 2011 · Viewed 7.2k times · Source

How do I convert a property name (in string) to a DependencyProperty?

I have a set of property names, its values in string and a DependencyObject. Now I want to set these property values to the DependencyObject. Any idea on how this can be achieved?

Thanks.

Answer

Konstantin Oznobihin picture Konstantin Oznobihin · Jun 9, 2011

You can get DependencyPropertyDescriptor using DependencyPropertyDescriptor.FromName method and then get dependency property identifier from this descriptor.


var descriptor = DependencyPropertyDescriptor.FromName(
    propertyName,
    dependencyObject.GetType(),
    dependencyObject.GetType());

// now you can set property value with
descriptor.SetValue(dependencyObject, value);

// also, you can use the dependency property itself
var property = descriptor.DependencyProperty;
dependencyObject.SetValue(property, value);