Silverlight AutoCompleteBox SelectedValue (?) - PullRequest
0 голосов
/ 23 декабря 2009

Мне нужно реализовать редактируемый комбинированный список, где пользователи могут выбирать существующие значения из данных / таблиц. Он должен быть редактируемым, потому что пользователи также могут добавлять новые строки в таблицу, вводя новые значения в редактируемый комбинированный список, поэтому я поместил элемент управления AutoCompleteBox на свою страницу, но не могу найти образец того, как реализовать такую ​​функцию. Он должен отображать что-то вроде имени сотрудника в редактируемом раскрывающемся списке, а свойство SelectedValue должно содержать идентификатор сотрудника.

Любая помощь будет очень ценится.

Ура! * * 1005

Ответы [ 2 ]

4 голосов
/ 23 декабря 2009

Вам нужно будет привязать ItemsSource вашего autocompletebox к вашей коллекции "lookup". Вы можете использовать ValueMemberBinding для разрешения текстового ввода для поиска, т. Е. Если у вас есть список людей, привяжите это к Model.Name, например, {Binding Name}, чтобы найти людей по имени.

Что касается выпадающих элементов, вы можете использовать шаблоны для отображения элементов так, как вам нравится. Вот хорошая тема по теме, вы хотите стилизовать ItemTemplate. следуя примеру, вы сделаете шаблон данных в xaml внутри элемента ItemsTemplate, добавите текстовый блок и свяжете его свойство Text с именем, например, {Binding Name}.

Здесь хороший пример, где autocompletebox стилизован под комбинированный список. Вы можете расширить это, чтобы найти «enter» в TextChanged и проверить, содержится ли элемент в ItemsSource. Если нет, он может выдвинуть новое значение на сервер (если вы находитесь в MVVM, вы можете вызвать на вашем ViewModel команду, которая делегировала бы добавление на сервер и обновила элементы).

1 голос
/ 18 марта 2010

Вот еще один пример, который расширяет AutoCompleteBox для использования в качестве ComboBox с опережением типа.Он может обрабатывать внешние ключи / идентификаторы поиска с использованием DP и может использоваться в сценариях MVVM. Автозаполнение ComboBox для Silverlight

...