2012-12-20 70 views
2

我有Focusable=trueIsTabStop=true的用戶控件。WPF - 如何從代碼集中的用戶控件背後

我可以用Tab鍵關注它。但我需要從代碼中關注它。

我試圖uc.Focus()Keyboard.Focus(uc),但它不工作。

+1

它可能只是一些其他的控件是從你的'UserControl'的第二個焦點偷走焦點。 –

回答

2

Tejas的可能是正確的。如果WPF正在進行一些渲染/佈局更新,您希望稍微推遲.Focus()任務,而不是以WPF的方式獲取。試試這個吧:

using System.Windows.Threading; 

... 

Action focusAction =() => uc.Focus(); 
this.Dispatcher.BeginInvoke(focusAction, DispatcherPriority.ApplicationIdle); 
相關問題