2015-08-16 13 views
5

Sto usando un controllo AutoSuggestBox per visualizzare alcuni risultati, come ad esempio:AutoSuggestBox selezionato testo

   <AutoSuggestBox Width="192" 
           PlaceholderText="Search" 
           HorizontalAlignment="Right" 
           ItemsSource="{Binding SearchResults}"> 
        <i:Interaction.Behaviors> 
         ... 
        </i:Interaction.Behaviors> 
        <AutoSuggestBox.ItemTemplate> 
         <DataTemplate> 
          <TextBlock> 
           <Run Text="{Binding Name}" /> 
           <Run Text="(" /><Run Text="{Binding Origin_Country[0]}" /><Run Text=")" /> 
          </TextBlock> 
         </DataTemplate> 
        </AutoSuggestBox.ItemTemplate> 

SearchResults (vincolante ItemsSource) è definito come tale:

private ObservableCollection<ShowModel> _searchResults = default(ObservableCollection<ShowModel>); 
    public ObservableCollection<ShowModel> SearchResults { get { return _searchResults; } set { Set(ref _searchResults, value); } } 

E ShowModel è un modello base con proprietà associabili.

Il problema che sto avendo è quando sto cliccando su uno dei risultati, si sta riempiendo la casella di testo con il percorso del modello, come si vede qui sotto:

Prima di selezionare una voce:

Dopo aver selezionato una voce: enter image description here

quello che voglio è quello di definire una sorta di modello per la casella di testo per l'associazione a una delle proprietà del modello in modo che il percorso del modello non viene visualizzata. È possibile?

+0

Non un Windows 8 telefoni sviluppatore me stesso, ma si può attingere l'evento SuggestionChosen, annullare la selezione lì e impostare il contenuto della casella di testo manualmente? –

risposta

8

Impostare la proprietà TextMemberPath su una delle proprietà del modello che si desidera visualizzare.

TextMemberPath="someproperty" 
+0

Wow, più facile di quanto mi aspettassi. Grazie! – kskyriacou

Problemi correlati