DependencyProperty из строки

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

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

Спасибо.

Ответ 1

Вы можете получить 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);