2017-02-07 2 views
1

KeyboardNavigation 클래스에있는 연결된 종속성 속성 인 ShowKeyboardCuesProperty라는 속성을 얻을 수 있습니다. CLR 속성이없는 내부 정적 DP입니다.Reflection을 통해 연결된 속성의 값 설정

이 첨부 속성을 쉽게 참조 할 수있는 다른 요소에 설정해야합니다. 이 요소를 DependencyObject로 참조하겠습니다. d.

d.SetValue()를 호출하고 (FieldInfo에서) 위의 연결된 속성을 true로 설정하려면 어떻게해야합니까?

다른 방법으로 동일한 결과를 얻을 수 있습니까?

+0

첨부 속성을 엄격히 XAML의 기능입니다. 이것은 Windows API 프로그래밍과 관련이 없습니다. – IInspectable

답변

1

이 시도 :

FieldInfo fi = (typeof(KeyboardNavigation).GetMember("ShowKeyboardCuesProperty", 
    MemberTypes.All, BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.Static)[0] as FieldInfo); 

DependencyObject o = new Button(); 

DependencyProperty dp = fi.GetValue(o) as DependencyProperty; 
bool value = (bool)o.GetValue(dp); //= false 
o.SetValue(dp, true); 
value = (bool)o.GetValue(dp); // = true 
+0

안내해 주셔서 감사합니다. – Harsha

관련 문제