Windows runtime WinRT停止控件,重点放在负载上

Windows runtime WinRT停止控件,重点放在负载上,windows-runtime,winrt-xaml,Windows Runtime,Winrt Xaml,当我的应用程序启动时,第一个文本框具有焦点。在台式机上运行时,这并不重要,但在平板电脑上运行时,意味着屏幕上的键盘弹出,遮住了一半屏幕 如何防止应用程序首次启动时任何控件具有焦点?我认为除了在所有控件上将IsTabStop设置为false之外,没有其他方法可以简单地移除焦点,但解决方法可能是放置一个不可见控件(例如,将IsTabStop设置为true且不透明度设置为0的UserControl)在页面中使用较低的选项卡索引。在页面上使用较早的选项卡索引放置一个按钮: <Button

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


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

我认为除了在所有控件上将IsTabStop设置为false之外,没有其他方法可以简单地移除焦点,但解决方法可能是放置一个不可见控件(例如,将IsTabStop设置为true且不透明度设置为0的UserControl)在页面中使用较低的选项卡索引。

在页面上使用较早的选项卡索引放置一个按钮:

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

需要注意的几点:

  • 将可见性设置为“折叠”不起作用,因为引擎喜欢聚焦第一个可见控件
  • 您需要
    ishitestvisible=“False”
    ,这样用户就不会意外地单击它,也不会意外地阻止对页面上任何其他内容的单击
  • 另一种控件类型可以工作,但它不应该是文本框,因为它仍然会显示虚拟键盘
  • 在文本框上设置
    IsTabStop=“False”
    不起作用,因为它根本无法获得焦点

感谢您的提示……将IsTabStop设置为false无疑是最简单、最方便的选择