删除第一个文本框的焦点

Chr*_*anV 8 textbox windows-8 windows-store-apps

在我们的Windows应用商店应用中,我们有一个文本框,当应用程序启动时,此文本框始终会获得焦点.在桌面方案中没有问题,但在平板电脑设备上,此焦点将直接打开屏幕键盘,这不是我们想要的场景.

我们尝试使用.Focus(FocusState)方法将焦点设置在另一个控制程序上,但不知何故焦点被设置回文本框.我们都将焦点设置在LoadState或OnNavigatedTo方法中.

只有当我们有计时器时,我们才能将焦点设置成另一个控件.任何人都有想法如何将焦点设置为另一个控件,或者最好设置不关注控件?

Jan*_*mes 16

通常,您可以将焦点设置为任何元素TextBox.Focus().但是,当您将TextBox放在ScrollViewer或FlyOut中时,我发现了相同的行为(启动时自动对焦).然后你必须在父元素上设置IsTabStop:

<ScrollViewer IsTabStop="true">
   <TextBox />
</ScrollViewer>
Run Code Online (Sandbox Code Playgroud)

  • 这不是确切的答案,因为我的文本框不在滚动查看器或弹出窗口内.虽然我通过在文本框之前添加带有IsTabStop = true的scrollview来修复它,并将水平和垂直滚动条可见性设置为折叠.它绝对不是最精彩的解决方案,但在我发现导致它的原因之前,它确实有效!谢谢! (2认同)