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"));