DependencyProperty from string

2019-02-06 10:24发布

问题:

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.

回答1:

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