Windows-Apps
Inhaltsverzeichnis reduzieren
Inhaltsverzeichnis erweitern

Ermöglichen der Suche nach Informationen in Ihrer Windows Store-App (C#/VB/C++ und XAML)

Um Benutzern das Suchen nach Informationen in Ihrer App zu ermöglichen, fügen Sie Ihrem Projekt ein Element Suchergebnisseite hinzu. Fügen Sie anschließend einer beliebigen Seite in der App SearchBox-Steuerelemente hinzu. Benutzer verwenden diese Steuerelemente, um in Ihrer App nach Informationen zu suchen. Führen Sie die folgenden Schritte aus, um Benutzern das Suchen nach Informationen in Ihrer App zu ermöglichen:

JJ655408.wedge(de-de,WIN.10).gifHinzufügen des Elements "Suchergebnisseite"

  1. Klicken Sie in Visual Studio-Menü auf Datei > Neues Projekt.
  2. Erweitern Sie im linken Bereich des Dialogfelds Neues Projekt den Knoten Visual C#, Visual Basic oder Visual C++.
  3. Klicken Sie im mittleren Bereich auf Grid App.
  4. Geben Sie SearchPageExample in das Feld Name ein, und klicken Sie anschließend auf OK.

    Die Projektmappe wird erstellt, und die Projektdateien werden im Projektmappen-Explorer angezeigt. Ausführlichere Informationen zu den Projektdateien finden Sie unter C#-, VB- und C++-Projektvorlagen für Windows Store-Apps.

    Wichtig  Wenn Sie Visual Studio zum ersten Mal ausführen, werden Sie auf die Entwicklerlizenz hingewiesen. Weitere Informationen finden Sie unter Anfordern einer Entwicklerlizenz.

  5. Öffnen Sie im Projektmappen-Explorer das Kontextmenü des Projektknotens, und klicken Sie dann auf Hinzufügen > Neues Element.
  6. Klicken Sie im mittleren Bereich des Dialogfelds Neues Element hinzufügen auf Suchergebnisseite. Behalten Sie für dieses Beispiel den im Feld Name angezeigten Standardnamen SearchResultsPage1.xaml bei.
  7. Klicken Sie auf die Schaltfläche Hinzufügen.

    Der Code für die neue Datei wird angezeigt

JJ655408.wedge(de-de,WIN.10).gifÄndern des Codes im Element "Suchergebnisseite"

  1. Fügen Sie in der Codedatei "SearchResultsPage1" die folgende Anweisung am Anfang der Datei hinzu, um auf die Beispieldatenklassen zu verweisen:
    
    using SearchResultsExample.Data;
    
    
    
  2. Fügen Sie die folgende Eigenschaft hinzu:
    
    public Dictionary<String, IEnumerable<SampleDataItem>> Results { get; set; }
    
    
    
  3. Aktualisieren Sie den ersten TODO-Kommentar, indem Sie
    
    // TODO: Application-specific searching logic.  The search process is responsible for
    //       creating a list of user-selectable result categories:
    //
    //       filterList.Add(new Filter("<filter name>", <result count>));
    //
    //       Only the first filter, typically "All", should pass true as a third argument in
    //       order to start in an active state.  Results for the active filter are provided
    //       in Filter_SelectionChanged below.
    var filterList = new List<Filter>();
    filterList.Add(new Filter("All", 0, true));
    
    
    
    ersetzen

    durch

    
    var filterList = new List<Filter>();
    var totalMatchingItems = 0;
    Results = new Dictionary<string, IEnumerable<SampleDataItem>>();
    var groups = await SampleDataSource.GetGroupsAsync();
    foreach (var group in groups)
        {
            var matchingItems = group.Items.Where(item => item.Title.Contains(queryText));
            int numberOfMatchingItems = matchingItems.Count();
            if (numberOfMatchingItems > 0)
            {
                Results.Add(group.Title, matchingItems);
                filterList.Add(new Filter(group.Title, numberOfMatchingItems));
            }
        }
    filterList.Insert(0, new Filter("All", totalMatchingItems, true));
    
    
    
  4. Aktualisieren Sie den nächsten TODO-Kommentar, indem Sie
    
    // TODO: Respond to the change in active filter by setting this.DefaultViewModel["Results"]
    //       to a collection of items with bindable Image, Title, Subtitle, and Description properties
    
    
    
    ersetzen

    durch

    
    if (selectedFilter.Name.Equals("All"))
    {
        var tempResults = new List<SampleDataItem>();
        foreach (var group in Results)   
        {
            tempResults.AddRange(group.Value);
            this.DefaultViewModel["Results"] = tempResults;
        }
    }
    else if (Results.ContainsKey(selectedFilter.Name))
    {
        this.DefaultViewModel["Results"] = 
     	  new List<SampleDataItem>(Results[selectedFilter.Name]);
    }
    
    
    

JJ655408.wedge(de-de,WIN.10).gifHinzufügen eines SearchBox-Steuerelements zu einer Seite

  1. Doppelklicken Sie im Projektmappen-Explorer auf die Seite, der Sie ein Suchfeld hinzufügen möchten (z. B. "GroupItemsPage.xaml").

    Die Seite wird im Designer geöffnet.

  2. Ziehen Sie aus der Toolbox ein SearchBox-Steuerelement in die Seite.
  3. Klicken Sie im Fenster Eigenschaften auf die Registerkarte "Ereignisse", geben Sie SearchBox_QuerySubmitted in das Feld QuerySubmitted ein, und drücken Sie dann die EINGABETASTE.

    Der SearchBox_QuerySubmitted-Ereignishandler wird im Code-Editor geöffnet.

  4. Ersetzen Sie den SearchBox_QuerySubmitted-Ereignishandler durch den folgenden Code:
    
    private void SearchBox_QuerySubmitted(SearchBox sender, SearchBoxQuerySubmittedEventArgs args)
    {
        this.Frame.Navigate(typeof(SearchResultsPage1), args.QueryText);
    }
    
    
    

JJ655408.wedge(de-de,WIN.10).gifErmöglichen des Öffnens der in den Suchergebnissen angezeigten Elemente

  1. Öffnen Sie SearchResultsPage1.xaml im Designer.
  2. Klicken Sie im Panel Dokumentgliederung auf resultsGridView.
  3. Klicken Sie im Fenster Eigenschaften auf die Registerkarte "Ereignisse", und geben Sie dann ItemClick in das Feld ItemClick ein.
  4. Fügen Sie dem neuen Ereignishandler die beiden folgenden Codezeilen hinzu:
    
    private void ItemClick(object sender, ItemClickEventArgs e)
    {
        var itemId = ((SampleDataItem)e.ClickedItem).UniqueId;
        this.Frame.Navigate(typeof(ItemDetailPage), itemId);
    }
    
    
    

JJ655408.wedge(de-de,WIN.10).gifTesten der Suchfunktion in der App

  1. Klicken Sie im Visual Studio-Menü auf Debuggen > Debugging starten, oder drücken Sie F5.
  2. Öffnen Sie in der aktiven App die Seite mit dem Suchfeldsteuerelement.
  3. Geben Sie im Suchfeld den Namen eines Elements ein und klicken Sie auf die Suchschaltfläche.

    Auf der Seite mit den Suchergebnissen werden Ergebnisse für Elemente angezeigt, die den Suchbegriff enthalten.

Verwandte Themen

C#-, VB- und C++-Elementvorlagen für Windows Store-Apps
Hinzufügen von Elementvorlagen zur Seitensteuerung

 

 

Anzeigen:
© 2017 Microsoft