WinRT停止控制,专注于负载

时间:2013-04-06 15:39:54

标签: windows-runtime winrt-xaml

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

如何在应用首次启动时阻止任何控件具有焦点?

2 个答案:

答案 0 :(得分:4)

使用较早的TabIndex:

在页面上放置一个按钮
<Button
    IsHitTestVisible="False"
    Opacity="0"
    TabIndex="1" />

有几点需要注意:

  • 设置对Collapsed的可见性不起作用,因为引擎喜欢聚焦第一个Visible控件
  • 您需要IsHitTestVisible="False",因此用户不会意外点击它,并且不会意外阻止点击到页面上的任何其他内容。
  • 另一种控件类型可以使用,但它不应该是TextBox,因为它仍会启动虚拟键盘。
  • 在TextBox上设置IsTabStop="False"并不起作用,因为它根本无法获得焦点。

答案 1 :(得分:3)

我相信除了在所有控件上将IsTabStop设置为false之外,无法简单地移除焦点,但解决方法可能是将一个不可见的控件(例如,UserControl的IsTabStop设置为true,Opacity设置为0)页面中的标签索引。