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.' のインスタンスを作成できません"というメッセージでアプリが例外をスローします。
候補は、検索履歴、ローカル ファイル、またはアプリで指定されたソースの 3 つのソースから取得できます。 候補はソース別にグループ化され、検索ウィンドウに検索履歴、ローカル ファイル、アプリで指定されたソースの順に表示されます。
アプリが検索コントラクトに参加していて、指定したソースからの提案をアプリに表示する場合は、このイベントが発生したときに応答するハンドラーを登録する必要があります。 SuggestionsRequested イベント ハンドラーで、提案を取得し、ユーザーの SearchPaneSuggestionsRequestedEventArgs に基づいて SearchSuggestionCollection に入力して応答します。QueryText。
注意
このイベントに非同期的に応答する場合は、 SearchPaneSuggestionsRequestedEventArgs を使用する必要があります。要求。GetDeferral。
空の検索ボックスに候補を指定できないため、ユーザーが検索ボックスを空に更新してもこのイベントは発生しません。
検索候補の種類
アプリで表示できる候補には、ユーザーがクエリを調整するのに役立つ候補 (クエリ候補) と、クエリの実際の結果である候補 (結果候補) の 2 種類があります。 一方または両方の種類の候補を表示することもできます。
クエリ候補を指定し、ユーザーがクエリ候補を選択した場合、アプリの検索結果ページに選択した絞り込まれたクエリの結果を表示して、アプリが応答する必要があります。
結果候補を指定する場合は、 ResultSuggestionChosen イベント ハンドラーを登録して、ユーザーがいずれかの結果候補を選択したときに応答できるようにし、その結果をユーザーに表示できるようにする必要もあります。
提案の取得
アプリで候補を取得するために使用できるソースの例をいくつか次に示します。
- アプリ定義の静的なローカル リストから
- OpenSearch 形式の候補をサポートする URL から
検索ウィンドウにアプリによって提供された候補を表示する
提案を取得した後、検索ウィンドウに候補を表示するには、[ 要求] に追加します。SearchSuggestionCollection。
検索ウィンドウには、最大で 5 つの候補を表示できます。 クエリ候補と結果候補の両方を表示する場合は、候補の種類 (クエリまたは結果) で候補をグループ化し、 AppendSearchSeparator を使用してグループを分離する必要があります。 各区切り記号は候補の代わりに使用され、その後に少なくとも 1 つの候補が続き、表示できる候補の数が減る必要があります。