SearchSuggestionCollection class

Applies to Windows only

Represents a collection of search suggestions to be displayed in the search pane in response to a suggestionsrequested event.

Syntax


public sealed class SearchSuggestionCollection

Attributes

[MarshalingBehavior(Agile)]
[Muse()]
[Version(0x06020000)]

Members

The SearchSuggestionCollection class has these types of members:

Methods

The SearchSuggestionCollection class has these methods. With C#, Visual Basic, and C++, it also inherits methods from the Object class.

MethodDescription
AppendQuerySuggestion Appends a query suggestion to the list of search suggestions for the search pane.
AppendQuerySuggestions Appends a list of query suggestions to the list of search suggestions for the search pane.
AppendResultSuggestion Appends a suggested search result to the list of suggestions to display in the search pane.
AppendSearchSeparator Appends a text label that is used to separate groups of suggestions in the search pane.

 

Properties

The SearchSuggestionCollection class has these properties.

PropertyAccess typeDescription

Size

Read-onlyThe number of suggestions in the collection.

 

Remarks

The search pane can display 5 suggestions, at most. Additionally, each separator you use takes the place of a suggestion and lowers the number of suggestions that you can display. Learn more about displaying suggestions in Guidelines and checklist for search.

An app retrieves this object through the searchPaneSuggestionsRequest.searchSuggestionCollection property while handling a suggestionsrequested event.

Examples

The Search contract sample demonstrates how to respond to a suggestionsrequested event, including how to use the searchSuggestionCollection.


private void OnSearchPaneSuggestionsRequested(SearchPane sender, SearchPaneSuggestionsRequestedEventArgs e)
{
    var queryText = e.QueryText;
    if (string.IsNullOrEmpty(queryText))
    {
        MainPage.Current.NotifyUser("Use the search pane to submit a query", NotifyType.StatusMessage);
    }
    else
    {
        var request = e.Request;
        var linguisticDetails = e.LinguisticDetails;
        foreach (string alternative in linguisticDetails.QueryTextAlternatives)
        {
            foreach (string suggestion in suggestionList)
            {
                if (suggestion.StartsWith(alternative, StringComparison.CurrentCultureIgnoreCase))
                {
                    // Add suggestion to Search Pane
                    request.SearchSuggestionCollection.AppendQuerySuggestion(suggestion);

                    // Break since the Search Pane can show at most 5 suggestions
                    if (request.SearchSuggestionCollection.Size >= MainPage.SearchPaneMaxSuggestions)
                    {
                        break;
                    }
                }
            }

            // Break since the Search Pane can show at most 5 suggestions
            if (request.SearchSuggestionCollection.Size >= MainPage.SearchPaneMaxSuggestions)
            {
                break;
            }
        }

        if (request.SearchSuggestionCollection.Size > 0)
        {
            MainPage.Current.NotifyUser("Suggestions provided for query: " + queryText, NotifyType.StatusMessage);
        }
        else
        {
            MainPage.Current.NotifyUser("No suggestions provided for query: " + queryText, NotifyType.StatusMessage);
        }
    }
}


Requirements

Minimum supported client

Windows 8 [Windows Store apps only]

Minimum supported server

Windows Server 2012 [Windows Store apps only]

Minimum supported phone

None supported

Namespace

Windows.ApplicationModel.Search
Windows::ApplicationModel::Search [C++]

Metadata

Windows.winmd

See also

Search contract sample
Guidelines and checklist for search
Reference
SearchPane.SuggestionsRequested event
SearchPaneSuggestionsRequestedEventArgs class
SearchPaneSuggestionsRequestedEventArgs.Request property
SearchPaneSuggestionsRequest class
SearchPaneSuggestionsRequest.SearchSuggestionCollection property

 

 

Show:
© 2014 Microsoft