none
windows 8中关于搜索合约的两种方式OnSearchActivated与SearchPane,什么时候使用那个有没有官方的说明文档 RRS feed

  • 问题

  • Windows 8 中何时使用AppBar ,何时使用设置合约;windows 8中关于搜索合约的两种方式OnSearchActivated与SearchPane,什么时候使用那个有没有官方的说明文档

    2013年1月5日 3:15

答案

全部回复

  •  SearchPane searchPane = SearchPane.GetForCurrentView();
     searchPane.ResultSuggestionChosen +=  searchPane_ResultSuggestionChosen

    当我选择搜索窗格中的其中一个建议结果时为什么searchPane_ResultSuggestionChosen事件不会触发,进入的是APP中OnSearchActivated方法?


    2013年1月5日 3:35
  • 设置合约可以为应用程序提供一些用户设置功能,AppBar也可以,什么类型的功能使用设置合约,什么类型的功能使用AppBar,官方有没有什么建议?
    2013年1月5日 3:44
  • Hi,

    这两个并不是两种搜索方式。实际上搜索方式是一种。MSDN上关于两个的介绍很详细,如果中文的不是令人很满意,我建议直接看英文的:

    http://msdn.microsoft.com/en-us/library/windows/apps/windows.applicationmodel.search.searchpane.aspx

    http://msdn.microsoft.com/en-us/library/windows/apps/xaml/Hh868180(v=win.10).aspx

    请仔细看第二篇文章,关于搜索里面介绍的很详细。

    AppBar并不是设计用来输入搜索内容的,将搜索集成到Charm面板上就是希望能够获得一个统一的搜索体验。因此AppBar在任何时候都不推荐用来做搜索。

    OnSearchActivated是如果程序不是屏幕上运行的程序会到这个事件来处理搜索,如果程序是屏幕上运行的程序那么会触发一个QuerySubmitted事件,你需要自己添加一个事件处理程序(一般这个语句方法重写的OnWindowCreated方法中)。

    SearchPane类实际上用来控制搜索面板的,比如GetCurrentView()方法就是返回一个正在用于搜索的搜索面板实例。具体可以看我提供的第一个链接。

    你也可以参考这个sample:

    http://code.msdn.microsoft.com/windowsapps/Search-app-contract-sample-118a92f5

     

     


    Aaron
    MSDN Community Support | Feedback to us
    Develop and promote your apps in Windows Store
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    2013年1月8日 8:24
    版主
  • 谢谢:Aaron Xue :

    OnSearchActivated 相当于应用程序的一个搜索入口,而SearchPane倾向于页面,如果多个页面都支持搜索,每个页面都可以使用searchpane类来实现自己的搜索是吧。

    还有 我知道不能在AppBar中做搜索,我说的是“设置”合约,不过上次看到MSDN上的文档已经了解。

    还想问一下searchPane.ResultSuggestionChosen 这个事件貌似不能触发,当点击搜索上的一条建议时,程序进入APP中OnSearchActivated方法,这是我Dedug

    的结果。

    2013年1月10日 7:04
  • Hi,

    OnSearActivated的作用是在程序没启动,通过搜索传入搜索字符串会在这里处理,如果程序启动会触发QuerySubmitted。

    SearchPane用来表示Charm面板的搜索功能,跟页面没有关系。注意搜索功能实际上并不是程序的一部分,这也是我们为什么使用contract的模式来添加搜索功能。

    ResultSuggestionChosen这个是指在搜索charm上选择一个suggestion之后需要出发事件进行处理,比如微软自带的Store应用:

    这里应用就对这个事件作出处理。


    Aaron
    MSDN Community Support | Feedback to us
    Develop and promote your apps in Windows Store
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    2013年1月10日 8:30
    版主