SearchPane.ResultSuggestionChosen | resultsuggestionchosen event

Applies to Windows only

Fires when the user selects one of the suggested results that was provided by the app and displayed in the search pane.

Syntax


function onResultSuggestionChosen(eventArgs) { /* Your code */ }
 
// addEventListener syntax
searchPane.addEventListener("resultsuggestionchosen", onResultSuggestionChosen);
searchPane.removeEventListener("resultsuggestionchosen", onResultSuggestionChosen);
 
- or -

searchPane.onresultsuggestionchosen = onResultSuggestionChosen;


Event information

Delegate TypedEventHandler<SearchPane, SearchPaneResultSuggestionChosenEventArgs>

Remarks

Note  An app can't use both the search box (Windows.UI.Xaml.Controls.SearchBox for Windows Store apps using C++, C#, or Visual Basic, WinJS.UI.SearchBox for Windows Store apps using JavaScript) and the SearchPane. Using both the search box and the search pane in the same app causes the app to throw an exception with this message: "Cannot create instance of type 'Windows.UI.Xaml.Controls.SearchBox.'"

If your app participates in the Search contract and displays suggestions for possible results in the search pane, you should register an event handler to respond when this event fires. In your ResultSuggestionChosen event handler, respond by getting the SearchPaneResultSuggestionChosenEventArgs.Tag of the chosen result and using it to take the user to the result in your app UI.

Note  If you want to display result suggestions, you must also listen for and handle the SuggestionsRequested event.

Examples

For C#/C++/VB: This example demonstrates how to ensure that your app can respond to user queries at any time by overriding OnWindowCreated in App.xaml.cs/App.xaml.cpp/App.xaml.vb to access the SearchPane object and register handlers for SearchPane events (like QuerySubmitted and ResultSuggestionChosen).


protected override void OnWindowCreated(WindowCreatedEventArgs args)
{
    // At window creation time, access the SearchPane object and register SearchPane events
    // (like QuerySubmitted, SuggestionsRequested, and ResultSuggestionChosen) so that the app
    // can respond to the user's search queries at any time.

    // Get search pane
    Windows.ApplicationModel.Search.SearchPane searchPane = SearchSearchPane.GetForCurrentView();
    
    // Register event handlers for SearchPane events

    // Register QuerySubmitted event handler
    searchPane.QuerySubmitted += new TypedEventHandler<SearchPane, SearchPaneQuerySubmittedEventArgs>(OnQuerySubmitted);
    
    // Register a SuggestionsRequested if your app displays its own suggestions in the search pane (like from a web service)
    searchPane.SuggestionsRequested += new TypedEventHandler<SearchPane, SearchPaneSuggestionsRequestedEventArgs>(OnSuggestionsRequested);

    // Register a ResultSuggestionChosen if your app displays result suggestions in the search pane
    searchPane.ResultSuggestionChosen += new TypedEventHandler<SearchPane, SearchPaneResultSuggestionChosenEventArgs>(OnResultSuggestionChosen);
    
}

For JavaScript: This example demonstrates how to access the searchPane to register a resultsuggestionchosen event handler.

Note  To ensure that your app can respond to user queries at any time, make sure your searchPane event handlers are registered in your app's global scope.



// Register event handler for ResultSuggestionChosen
Windows.ApplicationModel.Search.SearchPane.getForCurrentView().onresultsuggestionchosen = function (eventObject) {
    // Respond when user chooses a result suggestion
};

Requirements

Minimum supported client

Windows 8

Minimum supported server

Windows Server 2012

Minimum supported phone

None supported

Namespace

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

Metadata

Windows.winmd

See also

Search contract sample
Reference
Object class
SearchPane class
SearchPane.SuggestionsRequested event
SearchPaneResultSuggestionChosenEventArgs class

 

 

Show:
© 2014 Microsoft