14

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.

Dave Clemmer
  • 3,741
  • 12
  • 49
  • 72
sudarsanyes
  • 3,156
  • 8
  • 42
  • 52

1 Answers1

33

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);

Konstantin Oznobihin
  • 5,234
  • 24
  • 31