【问题标题】:Wiring up the Search Charm in Universal WinRT apps在通用 WinRT 应用程序中连接 Search Charm
【发布时间】:2014-05-23 09:58:12
【问题描述】:

我还没有看到任何关于如何在通用应用程序中使用 Search Charm 的示例。

通常您使用以下方法连接 Search Charm:

SearchPane.GetForCurrentView().QuerySubmitted += new TypedEventHandler<SearchPane, SearchPaneQuerySubmittedEventArgs>(OnQuerySubmitted);

但是,Shared App.xaml 中不存在,Windows.ApplicationModel.Search 命名空间中也不存在。

有人知道如何做到这一点吗?

【问题讨论】:

    标签: search windows-runtime win-universal-app


    【解决方案1】:

    我想你只需要重写 App.xaml.cs 中的 OnSearchActivated 方法:

    protected override async void OnSearchActivated(SearchActivatedEventArgs args)
    {
        await LoadApplicationAsync(args.PreviousExecutionState);
        // TODO: Handle search query in args            
    }
    

    LoadApplicationAsync 包含通常可以在 OnLaunched 方法中找到的逻辑。

    查看我的示例项目:

    https://xp-dev.com/svn/mytoolkit/-%20Samples/SampleWindowsStoreApp/App.xaml.cs

    https://xp-dev.com/svn/mytoolkit/-%20Samples/SampleWindowsStoreApp/Views/SearchSamplePage.xaml.cs

    【讨论】:

    • 在我的通用应用程序中,尽管清单包含搜索声明,但永远不会触发 OnSearchActivated 覆盖。它对你有用吗?我在你的实现中没有看到任何可以解释它的东西。
    • OnSearchActivated 在我的示例应用程序中被调用。结帐xp-dev.com/svn/mytoolkit 进行测试...您必须打开搜索魅力栏并选择应用程序而不是到处...
    • 啊哈!这是可用性的变化,使用应用内的搜索魅力不再以您的应用作为上下文进行搜索。它比以前更不容易被发现。
    猜你喜欢
    • 1970-01-01
    • 2012-06-24
    • 2015-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-19
    • 1970-01-01
    相关资源
    最近更新 更多