1

私はSilverlightにかなり慣れていません。

Web サービスから取得したデータで満たされた AutoCompleteBox があります。Webservice は MSSQL Server と通信します。また、いくつかの情報を表示するための DataGrid もあります。

AutoCompleteBox ItemsSource は にバインドされていList<Car>ます。当然、AutoCompleteBox を使用しようとすると、オートコンプリート ボックスに文字列を表示するために ToString() メソッドが呼び出されます。

私の DataGrid には、Car オブジェクトも使用する列があります。そのため、再び ToString() メソッドが呼び出されます。DataGrid の ToString() メソッドをオーバーライドしましたが、プログラミングが進むにつれ、AutoCompleteBox に行き詰まりました。Car オブジェクトの ToString が返すものではなく、別の String を表示したいからです。

AutoCompleteBox が Car オブジェクトの ToString メソッドの代わりにそれを使用するように、ToString() と同じことを行うメソッドのようなものを定義することは可能ですか? もしそうなら、XAML 部分でこれをどのように定義しますか?

前もって感謝します、

許す

4

1 に答える 1

1

Carクラスに表示したいプロパティを追加して、それを呼び出すことがAutoCompleteBoxできますが、好きなように呼び出すことDisplayNameができます。

ValueMemberPathのプロパティにこのプロパティを指定します。次のAutoCompleteBoxようになります。

<AutoCompleteBox ItemsSource="{Binding Whatever}" ValueMemberPath="DisplayName" />
于 2011-01-03T22:48:17.297 に答える