SearchPane.SuggestionsRequested 事件
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
当用户的查询文本更改且应用需要提供新建议以显示在搜索窗格中时发生。
/// [add: Windows.Foundation.Metadata.Deprecated("ISearchPane may be altered or unavailable for releases after Windows 10.", Windows.Foundation.Metadata.DeprecationType.Deprecate, 65536, Windows.ApplicationModel.Search.SearchContract)]
/// [remove: Windows.Foundation.Metadata.Deprecated("ISearchPane may be altered or unavailable for releases after Windows 10.", Windows.Foundation.Metadata.DeprecationType.Deprecate, 65536, Windows.ApplicationModel.Search.SearchContract)]
// Register
event_token SuggestionsRequested(TypedEventHandler<SearchPane, SearchPaneSuggestionsRequestedEventArgs const&> const& handler) const;
// Revoke with event_token
void SuggestionsRequested(event_token const* cookie) const;
// Revoke with event_revoker
SearchPane::SuggestionsRequested_revoker SuggestionsRequested(auto_revoke_t, TypedEventHandler<SearchPane, SearchPaneSuggestionsRequestedEventArgs const&> const& handler) const;
/// [add: Windows.Foundation.Metadata.Deprecated("ISearchPane may be altered or unavailable for releases after Windows 10.", Windows.Foundation.Metadata.DeprecationType.Deprecate, 65536, "Windows.ApplicationModel.Search.SearchContract")]
/// [remove: Windows.Foundation.Metadata.Deprecated("ISearchPane may be altered or unavailable for releases after Windows 10.", Windows.Foundation.Metadata.DeprecationType.Deprecate, 65536, "Windows.ApplicationModel.Search.SearchContract")]
// Register
event_token SuggestionsRequested(TypedEventHandler<SearchPane, SearchPaneSuggestionsRequestedEventArgs const&> const& handler) const;
// Revoke with event_token
void SuggestionsRequested(event_token const* cookie) const;
// Revoke with event_revoker
SearchPane::SuggestionsRequested_revoker SuggestionsRequested(auto_revoke_t, TypedEventHandler<SearchPane, SearchPaneSuggestionsRequestedEventArgs const&> const& handler) const;
[add: Windows.Foundation.Metadata.Deprecated("ISearchPane may be altered or unavailable for releases after Windows 10.", Windows.Foundation.Metadata.DeprecationType.Deprecate, 65536, typeof(Windows.ApplicationModel.Search.SearchContract))]
[remove: Windows.Foundation.Metadata.Deprecated("ISearchPane may be altered or unavailable for releases after Windows 10.", Windows.Foundation.Metadata.DeprecationType.Deprecate, 65536, typeof(Windows.ApplicationModel.Search.SearchContract))]
public event TypedEventHandler<SearchPane,SearchPaneSuggestionsRequestedEventArgs> SuggestionsRequested;
[add: Windows.Foundation.Metadata.Deprecated("ISearchPane may be altered or unavailable for releases after Windows 10.", Windows.Foundation.Metadata.DeprecationType.Deprecate, 65536, "Windows.ApplicationModel.Search.SearchContract")]
[remove: Windows.Foundation.Metadata.Deprecated("ISearchPane may be altered or unavailable for releases after Windows 10.", Windows.Foundation.Metadata.DeprecationType.Deprecate, 65536, "Windows.ApplicationModel.Search.SearchContract")]
public event TypedEventHandler<SearchPane,SearchPaneSuggestionsRequestedEventArgs> SuggestionsRequested;
function onSuggestionsRequested(eventArgs) { /* Your code */ }
searchPane.addEventListener("suggestionsrequested", onSuggestionsRequested);
searchPane.removeEventListener("suggestionsrequested", onSuggestionsRequested);
- or -
searchPane.onsuggestionsrequested = onSuggestionsRequested;
Public Custom Event SuggestionsRequested As TypedEventHandler(Of SearchPane, SearchPaneSuggestionsRequestedEventArgs)
事件类型
- 属性
注解
重要
若要在应用中实现Windows 10或更高版本的搜索,请使用 AutoSuggestBox。 有关详细信息 ,请参阅自动建议框 。
不应在适用于 Windows 10 或更高版本的应用中使用 Windows.ApplicationModel.Search API (SearchPane、 SearchContract
) 或 SearchBox API。
注意
应用不能同时使用搜索框 (Windows.UI.Xaml.Controls.SearchBox/WinJS.UI.SearchBox) 和 SearchPane。 在同一应用中同时使用搜索框和搜索窗格会导致应用引发异常,并显示以下消息:“无法创建类型为'Windows.UI.Xaml.Controls.SearchBox'的实例。
建议可以来自三个源:搜索历史记录、本地文件或来自应用指定的源。 建议按源分组,并按以下顺序显示在搜索窗格中:搜索历史记录、本地文件以及应用指定的源。
如果你的应用参与搜索协定,并且你希望应用显示来自你指定的源的建议,则必须注册处理程序,以在触发此事件时做出响应。 在 SuggestionsRequested 事件处理程序中,通过获取建议并根据用户的 SearchPaneSuggestionsRequestedEventArgs 填充 SearchSuggestionCollection 做出响应。QueryText。
注意
如果要异步响应此事件,必须使用 SearchPaneSuggestionsRequestedEventArgs。请求。GetDeferral。
无法为空搜索框提供建议,因此当用户将搜索框更新为空时,不会触发此事件。
搜索建议的类型
应用可以显示两种类型的建议:帮助用户优化查询 (查询建议) 的建议,以及) 查询的实际结果 (结果建议。 可以选择显示其中一种或两种类型的建议。
如果你提供查询建议,并且用户选择了查询建议,则应用应通过在应用的搜索结果页中显示所选优化查询的结果来做出响应。
如果提供结果建议,则还必须注册 ResultSuggestionChosen 事件处理程序,以便在用户选择结果建议之一时做出响应,并且可以向用户显示结果。
获取建议
下面是应用可用于获取建议的几个源示例:
- 从应用定义的静态本地列表
- 来自支持 OpenSearch 格式建议的 URL
在搜索窗格中显示应用提供的建议
获取建议后,可以通过将建议添加到 请求来在搜索窗格中显示它们。SearchSuggestionCollection。
搜索窗格最多可以显示 5 条建议。 如果选择同时显示查询建议和结果建议,则应按建议类型 (查询或结果) 对建议进行分组,并使用 AppendSearchSeparator 分隔组。 每个分隔符都取代了一个建议,并且后跟至少一个建议,从而减少了可以显示的建议数。