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タイプの場合、フィールドは空です。では、SilverlightでDependencyPropertyの詳細を取得する正しい方法は何ですか?私の目的は、リフレクションを使用してコントロールをバインドしようとしていることです。次のことを達成したい

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

0 に答える 0