Domanda

Sono abbastanza nuovo per Silverlight.

Ho un AutoCompleteBox che è riempito di dati recuperati da un webservice. Il webservice parla con un MSSQL Server. Ho anche un DataGrid per visualizzare alcune informazioni.

L'AutoCompleteBox ItemsSource è associato a un List<Car>. Naturalmente quando si tenta di utilizzare l'AutoCompleteBox il metodo ToString () viene chiamato per visualizzare una stringa nel autocompletebox.

Il mio DataGrid contiene una colonna che utilizza anche un oggetto Car. Così ancora una volta il metodo ToString () viene chiamato. Sovrascrivo mia ToString () Metodo per la DataGrid, ma, come ho avanzato in programmazione sono rimasto bloccato con l'AutoCompleteBox. Perché voglio che venga visualizzato diverso String invece di quello che ToString dei rendimenti oggetto Car.

E 'possibile definire qualcosa come un metodo che fa la stessa cosa di ToString () in modo che l'AutoCompleteBox utilizzerà che al posto del metodo ToString dell'oggetto auto? Se è così, come potrei definire questo nella parte XAML?

Grazie in anticipo,

Grant

È stato utile?

Soluzione

Aggiungi una proprietà alla classe Car che si desidera visualizzare nella vostra AutoCompleteBox consente di chiamare DisplayName ma si può chiamare ciò che si vuole.

Ora aggiungere specificare questa proprietà nella proprietà ValueMemberPath del AutoCompleteBox, qualcosa come: -

<AutoCompleteBox ItemsSource="{Binding Whatever}" ValueMemberPath="DisplayName" />
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top