我希望通过使用反射传递属性名称来获取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类型,字段是空的。那么在silverlight中获取DependencyProperty细节的正确方法是什么? 我的目标是,我试图使用反射绑定控件。我想实现以下目标
Type controlType = Type.GetType("ControlName");
DependencyProperty dp = ?
FrameworkElement element = controlType as FramworkElement;
element.SetBinding(dp, new Binding("PropertyPath"));