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' 형식의 instance 만들 수 없습니다."라는 메시지와 함께 예외가 발생합니다.
제안은 검색 기록, 로컬 파일 또는 앱에서 지정한 원본의 세 가지 원본에서 올 수 있습니다. 제안은 원본별로 그룹화되고 검색 창에서 검색 기록, 로컬 파일 및 앱에서 지정한 원본 순서로 표시됩니다.
앱이 검색 계약에 참여하고 지정한 원본의 제안을 앱에 표시하려면 이 이벤트가 발생할 때 응답할 처리기를 등록해야 합니다. SuggestionsRequested 이벤트 처리기에서 제안을 가져오고 사용자의 SearchPaneSuggestionsRequestedEventArgs에 따라 SearchSuggestionCollection을 채워 응답합니다. QueryText.
참고
이 이벤트에 비동기적으로 응답하려면 SearchPaneSuggestionsRequestedEventArgs를 사용해야 합니다. 요청. GetDeferral.
빈 검색 상자에 대한 제안을 제공할 수 없으므로 사용자가 검색 상자를 비워 두도록 업데이트할 때 이 이벤트가 발생하지 않습니다.
검색 제안 유형
앱에서 표시할 수 있는 제안 유형에는 사용자가 쿼리를 구체화하는 데 도움이 되는 제안(쿼리 제안) 및 쿼리의 실제 결과인 제안(결과 제안)의 두 가지 유형이 있습니다. 제안 유형 중 하나 또는 둘 다를 표시하도록 선택할 수 있습니다.
쿼리 제안을 제공하고 사용자가 쿼리 제안을 선택하면 앱의 검색 결과 페이지에 선택한 구체화된 쿼리에 대한 결과를 표시하여 앱이 응답해야 합니다.
결과 제안을 제공하는 경우 사용자가 결과 제안 중 하나를 선택하고 결과를 사용자에게 표시할 수 있도록 ResultSuggestionChosen 이벤트 처리기를 등록해야 합니다.
제안 가져오기
다음은 앱이 제안을 얻는 데 사용할 수 있는 몇 가지 원본 예입니다.
- 앱 정의 정적 로컬 목록에서
- OpenSearch 형식의 제안을 지원하는 URL에서
검색 창에 앱 제공 제안 표시
제안을 받은 후 요청에 추가하여 검색 창에 표시합니다. SearchSuggestionCollection.
검색 창에는 최대 5개의 제안이 표시할 수 있습니다. 쿼리 제안과 결과 제안을 모두 표시하도록 선택하는 경우 제안 유형을 기준으로 제안을 그룹화하고(쿼리 또는 결과) AppendSearchSeparator를 사용하여 그룹을 구분해야 합니다. 각 구분 기호는 제안을 대신하고 하나 이상의 제안 뒤에 표시할 수 있는 제안 수를 줄여야 합니다.