我在initialize组件中尝试过Keyboard.Focus()。不起作用。
我点击按钮打开一个新窗口,供用户输入。我希望用户能够立即开始输入,而无需先单击文本框然后键入。
有没有简单的方法可以获得这个捐赠
答案 0 :(得分:2)
尝试在窗口的Loaded
事件中执行此操作。而且,据我所知,只需使用MyTextBox.focus()
就可以给它提供逻辑焦点和键盘焦点。
答案 1 :(得分:1)
简单。
<Window FocusManager.FocusedElement="{Binding ElementName=SomeElement}">
<TextBox x:Name="SomeElement"/>
...
</Window>
答案 2 :(得分:0)
管理焦点很难!没有深入细节,它是关于以正确的顺序完成工作,我过去是否成功采用蛮力方法:
在窗口的Loaded
事件中:
Application.Current.Dispatcher.BeginInvoke(DispatcherPriority.ApplicationIdle, new Action(() =>
{
myTextBox.Focus();
Keyboard.Focus(myTextBox);
FocusManager.SetFocusedElement(myWindow, myTextBox);
});