2010-04-27 1 views
0

Я хотел бы использовать autocompletebox со списком значений, но также добавлять новые значения в список, если пользователь вводит тот, который его нет.WPF/Silverlight AutoCompleteBox с возможностью добавления новых значений в список

В настоящее время у меня есть свойство string в моей модели с названием «Комментарий». В настоящее время это связано с текстовым полем в представлении - пользователь вводит комментарий, а модель представления обновляется. Просто.

Чтобы сэкономить время, мой клиент хотел бы, чтобы это автозаполнение от предыдущих значений, так как я думал, что сделать это что-то вроде:

ViewModel

public string Comment; 
public ObservableCollection<string> CommentsList { ... } 

(заполнить CommentsList когда модели представления создается)

Вид

<AutoCompleteComboBox ItemsSource="{Binding CommentsList}" SelectedItem="{Binding Comment, Mode=TwoWay/> 

Поэтому, когда пользователь выбирает значение, он сохраняет значение в свойстве Comment. Это отлично работает, если пользователь выбирает элемент в списке, но если пользователь вводит новое значение, свойство комментария не обновляется (оно равно null, потому что выбранный элемент не был в списке).

Возможно ли это с автозаполнением?

Спасибо заранее, Будет

ответ

4

Найдено решение ...

мне нужно использовать свойство Text, а не SelectedItem.

Текст Содержит текущий текст, который пользователь вошел или выбранный.

SelectedItem является недействительным, если ни один элемент не выбран в данный момент. Если пользователь перемещается по выпадающему списку, выбирает элементы или нажимает на элемент, это будет обновляться до этого элемента.

См:

http://www.jeff.wilcox.name/2008/10/introducing-autocompletebox/

+0

+1 выглядит хорошо. извините, что управление не намного проще с помощью управления с mvvm. –

 Смежные вопросы

  • Нет связанных вопросов^_^