Silverlight AutoCompletebox Используйте пользовательский метод вместо ToString
-
14-10-2019 - |
Вопрос
Я довольно новичок в Silverlight.
У меня есть автоматическая коробка, которая заполнена данными, полученными из веб -сервиса. Веб -сервис общается с сервером MSSQL. У меня также есть данные для отображения некоторой информации.
AutoCompleteBox ItemsSource связан с List<Car>
Анкет Естественно, когда я пытаюсь использовать AutoCompletebox, метод ToString () вызывается для отображения строки в AutoCOmpleteBox.
У моего DataGrid есть столбец, который также использует автомобильный объект. Итак, снова называется метод ToString (). Я переопределяю свой метод ToString () для DataGrid, но, поскольку я продвигался в программировании, я застрял в автоказурке. Потому что я хочу, чтобы он отображал другую строку вместо того, что возвращает ToString объекта CAR.
Можно ли определить что -то вроде метода, который делает то же самое, что и ToString (), чтобы AutoCompletebox будет использовать его вместо метода ToString Car -объекта? Если так, как бы я определил это в части XAML?
Заранее спасибо,
Грант
Решение
Добавьте свойство в свой Car
класс, который вы хотите отобразить в своем AutoCompleteBox
Назовем это DisplayName
Но вы можете назвать это тем, что хотите.
Теперь добавьте указать это свойство в ValueMemberPath
собственность AutoCompleteBox
, что-то типа:-
<AutoCompleteBox ItemsSource="{Binding Whatever}" ValueMemberPath="DisplayName" />