2

我想DependencyProperty通过使用反射传递属性名称来获取信息。我参考了许多指导使用GetField方法的论坛。

DependencyProperty dp = null;
var fieldInfo = dependencyObjectType.GetField(dpName, BindingFlags.Public | BindingFlags.Static | BindingFlags.FlattenHierarchy);
if (fieldInfo != null)
{
   dp = fieldInfo.GetValue(null) as DependencyProperty;
}

这可能不适用于所有控件类型。比如你拿,CheckBox 类型,Fields 是空的。那么在silverlight 中获取DependencyProperty 详细信息的正确方法是什么?我的目标是,我正在尝试使用反射绑定控件。我想实现以下

Type controlType = Type.GetType("ControlName");
DependencyProperty dp = ?
FrameworkElement element = controlType as FramworkElement;
element.SetBinding(dp, new Binding("PropertyPath"));
4

0 回答 0