Silverlight AutoCompletebox Используйте пользовательский метод вместо ToString

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

  •  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" />
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top