2011-06-09 12 views
9

¿Cómo convierto un nombre de propiedad (en cadena) en DependencyProperty?DependencyProperty a partir de la cadena

Tengo un conjunto de nombres de propiedades, sus valores en cadena y un DependencyObject. Ahora quiero establecer estos valores de propiedad en DependencyObject. ¿Alguna idea de cómo se puede lograr esto?

Gracias.

Respuesta

25

Puede obtener DependencyPropertyDescriptor utilizando el método DependencyPropertyDescriptor.FromName y luego obtener el identificador de propiedad de dependencia de este 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); 
 
Cuestiones relacionadas