Ответ 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);