我在我的 Windows 8.1 应用程序中使用新的 SearchBox 控件,但每次我启动该应用程序时,SearchBox 都会获得焦点并显示搜索历史记录。我试图将焦点设置在我页面上的另一个控件上,但它不起作用。那么如何在不显示搜索历史的情况下启动我的应用程序呢?

谢谢。

最佳答案

这是我的猜测。您正在尝试将焦点设置为页面上的其他内容,但实际上您的页面上没有其他内容可以接受程序化焦点。要对此进行测试,只需将 <Button /> 添加到您的页面并将焦点设置为该页面。按钮非常适合此测试,<TextBox /> 也是如此。如果这解决了问题,那么你就明白了。

您有一些选择,您的选择会因您的应用而异:

  • 将 SearchBox 设置为 IsEnabled=false 直到 Page.Loaded 被引发
  • 将焦点设置在另一个控件上,例如 Width="1"和 Height="1"的 <Button />
  • 您可以在 SearchBox 上尝试 TabStop="False",但这可能不起作用
  • 将 SearchBox 进一步向下移动到逻辑树,默认 Tab Stop 更高

  • 抱歉,我只是在这方面与您进行了头脑 Storm 。我打赌其中一个会做到。让我知道。

    祝你好运。

    关于c#-4.0 - SearchBoxControl 专注于在 Win8.1 上启动应用程序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20544627/

    10-12 12:44