Silverlight AutoCompleteBox Выбрало значение(?)
-
21-09-2019 - |
Вопрос
Мне нужно реализовать редактируемый выпадающий список, в котором пользователи могут выбирать существующие значения из данных / таблиц.Она должна быть доступна для редактирования, потому что пользователи также могут добавлять новые строки в таблицу, вводя новые значения в редактируемое поле со списком, поэтому я поместил элемент управления AutoCompleteBox на свою страницу, но я не могу найти ни одного примера того, как реализовать такую функцию.Он должен отображать что-то вроде имени сотрудника в редактируемом выпадающем списке, при этом свойство SelectedValue должно содержать идентификатор сотрудника.
Любая помощь будет очень оценена.
Ваше здоровье!
Решение
Вам нужно будет привязать ItemsSource вашего autocompletebox к вашей коллекции "lookup".Вы можете использовать ValueMemberBinding для разрешения текстового ввода для поиска, т. Е. Если у вас есть список людей, привяжите это к модели.Назовите это так {Имя привязки}, чтобы найти людей по имени.
Что касается выпадающих элементов, вы могли бы использовать шаблоны для отображения элементов так, как вам нравится.Вот хороший совет по этому вопросу, вы хотите оформить ItemTemplate в стиле ItemTemplate.следуя примеру, вы должны создать datatemplate в xaml, внутри элемента ItemsTemplate добавить текстовый блок и привязать его текстовое свойство к Name, например {Binding Name}.
Здесь хороший пример, где поле автозаполнения оформлено как поле со списком.Вы могли бы расширить это, чтобы найти "enter" в TextChanged и проверить, содержится ли элемент в ItemsSource.В противном случае он мог бы отправить новое значение на сервер (если вы используете MVVM, вы могли бы вызвать команду в вашей ViewModel, которая делегировала бы добавление серверу и обновляла элементы).
Другие советы
Вот еще один пример, который расширяет поле автозаполнения для использования в качестве выпадающего списка с опережением ввода.Он может обрабатывать внешние ключи / идентификаторы поиска с помощью DPs и может использоваться в сценариях MVVM.Автозаполнение выпадающего списка для Silverlight