2011-06-09 21 views
9

Özellik adını (string olarak) DependencyProperty olarak nasıl değiştirebilirim?DependencyProperty from string

Bir dizi özellik ismim var, dizedeki değerleri ve DependencyObject. Şimdi bu özellik değerlerini DependencyObject olarak ayarlamak istiyorum. Bunun nasıl başarılabileceğine dair bir fikrin var mı?

Teşekkürler.

cevap

25

DependencyPropertyDescriptor.FromName yöntemini kullanarak DependencyPropertyDescriptor alabilirsiniz ve bağımlılık özellik tanımlayıcısını bu tanıtıcıdan alabilirsiniz.

 

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