2012-12-20 2 views
2

Focusable=trueIsTabStop=true의 사용자 정의 컨트롤이 있습니다.WPF - 뒤에 코드에서 usercontrol을 집중하는 방법

Tab 키를 사용하여 초점을 맞출 수 있습니다. 코드에서 집중해야합니다.

나는 uc.Focus()Keyboard.Focus(uc)을 시도했지만 작동하지 않습니다. FocusManager.SetFocusedElement

FocusManager.SetFocusedElement(parentElement, uc); 
+1

다른 컨트롤이 포커스를 두 번째로 'UserControl'에서 훔치는 것일 수 있습니다. –

답변

1

시도는 아마도 올바른 것입니다. WPF가 일부 렌더링/레이아웃 업데이트를 수행하는 경우 .Focus() 작업을 약간 연기하고 WPF 방식으로 처리하지 않으려합니다. 이것을 시도해보십시오 :

using System.Windows.Threading; 

... 

Action focusAction =() => uc.Focus(); 
this.Dispatcher.BeginInvoke(focusAction, DispatcherPriority.ApplicationIdle); 
관련 문제