Silverlight AutoCompleteBox Verwenden Sie eine benutzerdefinierte Methode anstelle von TOString

StackOverflow https://stackoverflow.com/questions/4585520

  •  14-10-2019
  •  | 
  •  

Frage

Ich bin ziemlich neu im Silverlight.

Ich habe eine AutocompleteBox, die mit Daten gefüllt ist, die von einem Webservice abgerufen werden. Der WebService spricht mit einem MSSQL -Server. Ich habe auch ein DataGrid, um einige Informationen anzuzeigen.

Die AutocompleteBox itemsSource ist an a gebunden List<Car> . Wenn ich versuche, die automatische Vervollständigungsexporation zu verwenden, wird die Methode toString () aufgerufen, um eine Zeichenfolge in der AutoCompleteBox anzuzeigen.

Mein DataGrid verfügt über eine Spalte, in der auch ein Autoobjekt verwendet wird. Also wird die Methode toString () wieder aufgerufen. Ich habe meine Methode für die DataGrid überschrieben, aber als ich mich in der Programmierung erweiterte, bin ich mit der AutoCompleteBox festgefahren. Weil ich möchte, dass es eine andere Zeichenfolge anstelle, anstatt wie das Tostring des Autoobjekts zurückgegeben wird.

Ist es möglich, so etwas wie eine Methode zu definieren, die dasselbe wie toString () tut (), damit die AutoCompleteBox diese anstelle der Autodemethode des Autoobjekts anwendet? Wenn ja, wie würde ich das im XAML -Teil definieren?

Danke im Voraus,

Gewähren

War es hilfreich?

Lösung

Fügen Sie Ihrem eine Eigenschaft hinzu Car Klasse, die Sie in Ihrem angezeigt werden möchten AutoCompleteBox Nennen wir es DisplayName Aber Sie können es so nennen, wie Sie wollen.

Fügen Sie nun hinzu, geben Sie diese Eigenschaft in der ValueMemberPath Eigentum des AutoCompleteBox, etwas wie:-

<AutoCompleteBox ItemsSource="{Binding Whatever}" ValueMemberPath="DisplayName" />
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top