Silverlight AutoCompleteBoxは、ToStringの代わりにカスタムメソッドを使用します
-
14-10-2019 - |
質問
私はシルバーライトがかなり初めてです。
Webサービスから取得されたデータで満たされたAutoCompleteBoxがあります。 WebServiceはMSSQLサーバーと話し合います。また、いくつかの情報を表示するデータグリッドもあります。
autocompletebox itemsourceはaにバインドされています List<Car>
。当然、AutoCompleteBoxを使用しようとすると、ToString()メソッドが呼び出され、AutoCompleteBoxに文字列が表示されます。
私のDatagridには、車のオブジェクトも使用する列があります。再びtoString()メソッドが呼び出されます。 DatagridのtoString()メソッドをオーバーライドしますが、プログラミングを進めるにつれて、AutoCompleteBoxにこだわりました。車のオブジェクトのトストリングが返されるのではなく、異なる文字列を表示したいからです。
toString()と同じことを行う方法のようなものを定義することは可能ですか?したがって、AutoCompleteBoxはCARオブジェクトのtoStringメソッドの代わりにそれを使用しますか?もしそうなら、これをXAML部分でどのように定義しますか?
前もって感謝します、
許す
解決
あなたにプロパティを追加します Car
あなたが表示したいクラス AutoCompleteBox
それを呼びましょう DisplayName
しかし、あなたはそれをあなたが望むものと呼ぶことができます。
次に、このプロパティを指定します ValueMemberPath
のプロパティ AutoCompleteBox
, 、 何かのようなもの:-
<AutoCompleteBox ItemsSource="{Binding Whatever}" ValueMemberPath="DisplayName" />