Question

Je suis assez nouveau pour Silverlight.

J'ai un AutoCompleteBox qui est rempli de données extraites d'un Webservice. Le Webservice parle à un MSSQL Server. J'ai aussi un DataGrid pour afficher des informations.

Le AutoCompleteBox ItemsSource est lié à un List<Car>. Naturellement, quand je tente d'utiliser la AutoCompleteBox la méthode ToString () est appelée à afficher une chaîne dans la AutoCompleteBox.

Mon DataGrid a une colonne qui utilise également un objet de voiture. Donc, encore une fois la méthode ToString () est appelée. J'Override mon ToString () Méthode de DataGrid, mais comme je l'ai avancé dans la programmation, je suis coincé avec le AutoCompleteBox. Parce que je veux afficher différentes cordes au lieu de ce que ToString des retours d'objets de voiture.

Est-il possible de définir quelque chose comme une méthode qui fait la même chose que ToString () de sorte que le AutoCompleteBox utilisera qu'au lieu de la méthode ToString objet de voiture? Si oui, comment pourrais-je définir cela dans la partie XAML?

Merci à l'avance,

Grant

Était-ce utile?

La solution

Ajouter une propriété à votre classe Car que vous voulez afficher dans votre AutoCompleteBox Appelons il DisplayName mais vous pouvez l'appeler ce que vous voulez.

Maintenant, ajoutez préciser cette propriété dans la propriété ValueMemberPath du AutoCompleteBox, quelque chose comme: -

<AutoCompleteBox ItemsSource="{Binding Whatever}" ValueMemberPath="DisplayName" />
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top