2014-10-29 19 views
5

Sto cercando di utilizzare lo standard AutoSuggestBox in un'applicazione XAML di Windows Phone 8.1, ma si comporta in modo davvero strano.Strani risultati in AutoSuggestBox in Windows Phone 8.1

In una semplice demo, ho collezione

Items = new ObservableCollection<string> 
     { 
      "a", 
      "b", 
      "c", 
      "d" 
     }; 

e lui AutoSuggestBox in XAML:

<AutoSuggestBox ItemsSource="{Binding Items}" /> 

Il problema è che non importa ciò che scrivo al AutoSuggestBox, ho sempre ottenere tutte le articoli:

enter image description here

Th La documentazione dice quasi nulla e non ho trovato alcun campione usando questo controllo.

risposta

4

Sulla base di this blog post, sembra che cosa ti aspetti (filtraggio automatico) non è il caso - invece, è necessario collegare nell'evento TextChanged e popolare la raccolta Suggestions da soli.

Dal documentation:

L'applicazione viene avvisato quando il testo è stato modificato dall'utente ed è responsabile di fornire suggerimenti pertinenti per questo controllo alla visualizzazione.

6

provare il seguente codice:

private void AutoSuggestBox_TextChanged(AutoSuggestBox sender, 
     AutoSuggestBoxTextChangedEventArgs args) 
    { 
      List<string> myList = new List<string>(); 
      foreach (string myString in PreviouslyDefinedStringArray) 
      { 
       if (myString.Contains(sender.Text) == true) 
       { 
        myList.Add(myString); 
       } 
      } 
      sender.ItemsSource = myList; 
    } 

Questo dovrebbe funzionare su WP 8.1

+0

un po 'ridondante, quando ho già accettato una risposta che mi dice la stessa –

+0

Indipendentemente da ciò, grazie per una soluzione di lavoro, Anmar – Freakishly

+0

è assolutamente ok per inserire il codice; il post del blog menzionato nella risposta accettata potrebbe non essere disponibile o trasferirsi in futuro. Il codice del gestore di eventi deve essere racchiuso in 'if (args.Reason == AutoSuggestionBoxTextChangeReason.UserInput) {...}' per evitare ridondanze quando viene scelto un suggerimento o il testo viene modificato a livello di codice. – dlatikay

Problemi correlati