SearchPane.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)]
// 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. Дополнительные сведения см. в разделе Поле автозаполнения .

Не следует использовать API-интерфейсы Windows.ApplicationModel.Search (SearchPane, SearchContract) или SearchBox в приложениях для Windows 10 или более поздней версии.

Примечание

Приложение не может использовать оба поля поиска (Windows.UI.Xaml.Controls.SearchBox.WinJS.UI.SearchBox/) и SearchPane. Использование поля поиска и области поиска в одном приложении приводит к тому, что приложение создает исключение с таким сообщением: "Не удается создать экземпляр типа "Windows.UI.Xaml.Controls.SearchBox".

Предложения могут поступать из трех источников: журнала поиска, локальных файлов или из источника, указанного приложением. Предложения группируются по их источнику и отображаются в следующем порядке в области поиска: журнал поиска, локальные файлы и источники, указанные приложением.

Если ваше приложение участвует в контракте поиска и вы хотите, чтобы оно отображали предложения из указанных вами источников, необходимо зарегистрировать обработчик для реагирования на срабатывание этого события. В обработчике событий SuggestionsRequested ответьте, получив предложения и заполните SearchSuggestionCollection на основе SearchPaneSuggestionsRequestedEventArgs пользователя. QueryText.

Примечание

Если вы хотите реагировать на это событие асинхронно, необходимо использовать SearchPaneSuggestionsRequestedEventArgs. Запрос. GetDeferral.

Предложения не могут быть предоставлены для пустого поля поиска, поэтому это событие не запускается, когда пользователь обновляет поле поиска, чтобы оно было пустым.

Типы предложений поиска

Приложение может отображать два типа предложений: предложения, помогающие пользователям уточнить запрос (предложения запросов), и предложения, которые являются фактическими результатами запроса (предложения результатов). Вы можете выбрать отображение любого или обоих типов предложений.

Если вы предоставляете предложения по запросу и пользователь выбирает один из них, ваше приложение должно ответить, отображая результаты выбранного уточненного запроса на странице результатов поиска вашего приложения.

Если вы предоставляете предложения результатов, необходимо также зарегистрировать обработчик событий ResultSuggestionChosen , чтобы можно было реагировать, когда пользователь выбирает одно из ваших предложений результатов, и вы можете отобразить результат для пользователя.

Получение предложений

Ниже приведено несколько примеров источников, которые приложение может использовать для получения предложений:

  • Из определяемого приложением статического локального списка
  • Из URL-адреса, поддерживающего предложения в формате OpenSearch

Отображение предложений, предоставленных приложением, в области поиска

Получив предложения, вы можете отобразить их в области поиска, добавив их в запрос. SearchSuggestionCollection.

В области поиска может отображаться не более 5 предложений. Если вы решили отобразить как предложения запросов, так и предложения результатов, следует сгруппировать предложения по типу предложения (запрос или результат) и разделить группы с помощью AppendSearchSeparator. Каждый разделитель занимает место предложения, за которым следует по крайней мере одно предложение, уменьшая количество отображаемых предложений.

Применяется к

См. также раздел