情况:我有一个字符串,表示Silverlight中TextBox的DependencyProperty的名称.例如:“TextProperty”.我需要引用TextBox的实际TextProperty,它是一个DependencyProperty.
问题:如果我获得的是属性的名称,我如何获得对DependencyProperty的引用(在C#中)
像DependencyPropertyDescriptor这样的东西在Silverlight中不可用.看来我得借鉴反思来获得参考.有什么建议么?
解决方法
您将需要反思:
public static DependencyProperty GetDependencyProperty(Type type,string name) { FieldInfo fieldInfo = type.GetField(name,BindingFlags.Public | BindingFlags.Static); return (fieldInfo != null) ? (DependencyProperty)fieldInfo.GetValue(null) : null; }
用法:-
var dp = GetDependencyProperty(typeof(TextBox),"TextProperty");