DependencyProperty из строки - PullRequest
12 голосов
/ 09 июня 2011

Как преобразовать имя свойства (в строке) в DependencyProperty?

У меня есть набор имен свойств, их значения в строке и DependencyObject.Теперь я хочу установить значения этих свойств на DependencyObject.Любая идея о том, как этого можно достичь?

Спасибо.

1 Ответ

28 голосов
/ 09 июня 2011

Вы можете получить DependencyPropertyDescriptor , используя метод DependencyPropertyDescriptor.FromName, а затем получить идентификатор свойства зависимости из этого дескриптора.


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

...