【问题标题】:SearchBoxControl has focus on app launching on Win8.1SearchBoxControl 专注于在 Win8.1 上启动应用程序
【发布时间】:2023-03-19 09:11:01
【问题描述】:

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

谢谢。

【问题讨论】:

    标签: c#-4.0 winrt-xaml windows-8.1


    【解决方案1】:

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

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

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

    很抱歉刚刚与您就此进行了头脑风暴。我敢打赌其中一个会做到这一点。告诉我。

    祝你好运。

    【讨论】:

    • 谢谢。我现在正在使用 opacity=0 的按钮
    • 谢谢!更改 TabIndex 是我认为最简单且必须最干净的方法!
    【解决方案2】:
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多