我有一个WPF应用程序,它在某一点上会显示另一个窗口,用户可以在打开时选择的字段中输入文本,然后单击确定以保存文本。这在我的桌面上使用鼠标正常工作,但是当我在平板电脑(Surface Pro)上运行应用程序时,需要点击“确定”按钮两次以保存文本。第一次点击突出显示按钮,然后第二次点按它。有没有办法允许用户只需点击一下屏幕就能点击按钮?
仅当应用程序切换到新窗口时才会发生这种情况。主窗口只需要点击一下按钮(虽然我注意到切换回主窗口时需要两个按钮)。这个问题似乎与焦点有关,因为如果我在点击OK之前点击新窗口的某个地方,我可以点击OK一次,它将触发点击事件。
答案 0 :(得分:0)
您的代码中可能需要这样的内容:
textBox1.Focus();
要考虑的另一个地方是表单上项目的Tab顺序。焦点离开文本框后,它将移动到下一个最高Tab键顺序对象。它应该是OK按钮。
您可以通过查看表单上对象的属性来调整Tab顺序。
答案 1 :(得分:0)
WPF中的这个错误与触摸显示相结合。
由于文本框已聚焦,并且您按下按钮,文本框将变得不聚焦,按钮将获得焦点。当按钮具有焦点时,您只需按下它即可保存文本。
你真的没有办法解决这个问题,因为触摸屏首先关注按钮然后才能发射事件(我认为这可能是一种安全功能)。