2012-02-16 7 views
1

Есть несколько похожих вопросов, но все они, кажется, просят о противоположном поведении. У меня есть связанный с данными combobox, и я хочу, чтобы пользователи могли находить в нем значения, набрав, как если бы это было текстовое поле. Это простое поведение с IsEditable, но это приводит к тому, что пользователь может выбирать значения, отсутствующие в ItemsSource.Редактируемый combobox со связыванием, блокировать отсутствующие значения

Когда пользователь делает это, Combobox выделяет красный цвет, но это он. Я хочу, чтобы он действительно очищал значение или выбирал ближайшее совпадение, в зависимости от того, что проще. Возможно ли это, не связывая его с текстом и помещая логику проверки в сеттер?

+0

Пользователи фактически могут находить элементы, набирая и отмечая, когда combobox не редактируется. – NestorArturo

+0

Его гораздо менее гибкий, а клавиша backspace работает по-разному. – Tyrsius

ответ

0

Нет, нет простого способа решить эту проблему из коробки.

Вам необходимо либо сделать, как вы сказали, привязать к тексту или, вернее, (по моему мнению, по крайней мере), создать специализированное производное ComboBox/прикрепленное поведение, где вы обрабатываете это между PreviewKeyPressed, TextChanged, LostFocus и т. Д. .

Из личного опыта, может быть больно, чтобы сделать обычное поведение таким, как это работает отлично.

Я согласен с тем, что то, что вы предпочтете в идеальном мире, - это combotox для чтения, но с улучшенным «поиском по мере ввода», где вы действительно можете увидеть, что вы набрали, и отредактировать его на лету.

+0

Спасибо, я боялся, что это так. – Tyrsius

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