2011-06-09 104 views
9

如何将属性名称(字符串)转换为DependencyProperty来自字符串的DependencyProperty

我有一组属性名称,它的值在字符串和DependencyObject。现在我想将这些属性值设置为DependencyObject。有关如何实现这一点的任何想法?

谢谢。

回答

25

您可以使用DependencyPropertyDescriptor.FromName方法获得DependencyPropertyDescriptor,然后从此描述符获取依赖项属性标识符。

 

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