다음을 통해 공유


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를 사용합니다. 자세한 내용은 자동 제안 상자를 참조하세요.

Windows 10 이상 앱에서 Windows.ApplicationModel.Search API(SearchPane, SearchContract) 또는 SearchBox API를 사용하면 안 됩니다.

참고

앱은 검색 상자(Windows.UI.Xaml.Controls.SearchBox/WinJS.UI.SearchBox)와 SearchPane을 모두 사용할 수 없습니다. 동일한 앱에서 검색 상자와 검색 창을 모두 사용하면 앱에서 "'Windows.UI.Xaml.Controls.SearchBox' 형식의 instance 만들 수 없습니다."라는 메시지와 함께 예외가 발생합니다.

제안은 검색 기록, 로컬 파일 또는 앱에서 지정한 원본의 세 가지 원본에서 올 수 있습니다. 제안은 원본별로 그룹화되고 검색 창에서 검색 기록, 로컬 파일 및 앱에서 지정한 원본 순서로 표시됩니다.

앱이 검색 계약에 참여하고 지정한 원본의 제안을 앱에 표시하려면 이 이벤트가 발생할 때 응답할 처리기를 등록해야 합니다. SuggestionsRequested 이벤트 처리기에서 제안을 가져오고 사용자의 SearchPaneSuggestionsRequestedEventArgs에 따라 SearchSuggestionCollection을 채워 응답합니다. QueryText.

참고

이 이벤트에 비동기적으로 응답하려면 SearchPaneSuggestionsRequestedEventArgs를 사용해야 합니다. 요청. GetDeferral.

빈 검색 상자에 대한 제안을 제공할 수 없으므로 사용자가 검색 상자를 비워 두도록 업데이트할 때 이 이벤트가 발생하지 않습니다.

검색 제안 유형

앱에서 표시할 수 있는 제안 유형에는 사용자가 쿼리를 구체화하는 데 도움이 되는 제안(쿼리 제안) 및 쿼리의 실제 결과인 제안(결과 제안)의 두 가지 유형이 있습니다. 제안 유형 중 하나 또는 둘 다를 표시하도록 선택할 수 있습니다.

쿼리 제안을 제공하고 사용자가 쿼리 제안을 선택하면 앱의 검색 결과 페이지에 선택한 구체화된 쿼리에 대한 결과를 표시하여 앱이 응답해야 합니다.

결과 제안을 제공하는 경우 사용자가 결과 제안 중 하나를 선택하고 결과를 사용자에게 표시할 수 있도록 ResultSuggestionChosen 이벤트 처리기를 등록해야 합니다.

제안 가져오기

다음은 앱이 제안을 얻는 데 사용할 수 있는 몇 가지 원본 예입니다.

  • 앱 정의 정적 로컬 목록에서
  • OpenSearch 형식의 제안을 지원하는 URL에서

검색 창에 앱 제공 제안 표시

제안을 받은 후 요청에 추가하여 검색 창에 표시합니다. SearchSuggestionCollection.

검색 창에는 최대 5개의 제안이 표시할 수 있습니다. 쿼리 제안과 결과 제안을 모두 표시하도록 선택하는 경우 제안 유형을 기준으로 제안을 그룹화하고(쿼리 또는 결과) AppendSearchSeparator를 사용하여 그룹을 구분해야 합니다. 각 구분 기호는 제안을 대신하고 하나 이상의 제안 뒤에 표시할 수 있는 제안 수를 줄여야 합니다.

적용 대상

추가 정보