0

当我的应用程序启动时,第一个文本框具有焦点。在台式机上运行时这并不重要,但当它在平板电脑上运行时,这意味着屏幕键盘会弹出并遮盖一半屏幕。

当应用程序首次启动时,如何防止任何具有焦点的控件?

4

2 回答 2

4

在您的页面上放置一个带有较早 TabIndex 的按钮:

<Button
    IsHitTestVisible="False"
    Opacity="0"
    TabIndex="1" />

需要注意的几点:

  • 将可见性设置为 Collapsed 不起作用,因为引擎喜欢关注第一个 Visible 控件
  • 您需要IsHitTestVisible="False"这样用户不会意外单击它,并且它不会意外阻止点击页面上的任何其他内容。
  • 另一种控件类型可以工作,但它不应该是 TextBox,因为它仍然会调出虚拟键盘。
  • 从那时起,您的 TextBox 上的设置IsTabStop="False"不起作用,它根本无法获得焦点。
于 2015-03-11T22:54:12.353 回答
3

我相信除了在所有控件上将 IsTabStop 设置为 false 之外,没有其他方法可以简单地移除焦点,但解决方法可能是放置一个不可见的控件(例如,将 IsTabStop 设置为 true 和 Opacity 设置为 0 的 UserControl)在你的页面。

于 2013-04-06T22:04:41.757 回答