WPF-如何从代码隐藏集中用户控件
我有一个用户控件,具有WPF-如何从代码隐藏集中用户控件,wpf,user-controls,focus,Wpf,User Controls,Focus,我有一个用户控件,具有Focusable=true和IsTabStop=true 我可以使用Tab键对焦。但我需要把重点放在代码上 我尝试了uc.Focus()和Keyboard.Focus(uc),但没有成功 尝试使用 Tejas可能是对的。如果WPF正在进行一些渲染/布局更新,那么您希望稍微推迟.Focus()任务,而不要妨碍WPF的工作。试试这个: using System.Windows.Threading; ... Action focusAction = () => uc.
Focusable=true
和IsTabStop=true
我可以使用Tab键对焦。但我需要把重点放在代码上
我尝试了uc.Focus()
和Keyboard.Focus(uc)
,但没有成功 尝试使用
Tejas可能是对的。如果WPF正在进行一些渲染/布局更新,那么您希望稍微推迟.Focus()任务,而不要妨碍WPF的工作。试试这个:
using System.Windows.Threading;
...
Action focusAction = () => uc.Focus();
this.Dispatcher.BeginInvoke(focusAction, DispatcherPriority.ApplicationIdle);
这可能是因为其他控件在获得焦点的那一刻就从
UserControl
窃取了焦点。
using System.Windows.Threading;
...
Action focusAction = () => uc.Focus();
this.Dispatcher.BeginInvoke(focusAction, DispatcherPriority.ApplicationIdle);