Как скрыть выпадающий список WPF AutoCompleteBox - PullRequest
1 голос
/ 15 декабря 2011

Я использую MVVM для своего приложения WPF.В моем файле xaml есть AutoCompleteBox, который работает нормально.Но теперь я добавил флаг bool в ViewModel isHideDropDown, который будет скрывать раскрывающийся список для AutoCompleteBox, если он установлен на true.Подводя итог, я хочу, чтобы мой AutoCompleteBox работал как обычный TextBox, если для isHideDropDown установлено значение true.

Кто-нибудь может дать мне идею?

Спасибо

Ответы [ 3 ]

1 голос
/ 15 декабря 2011

Я не пробовал это.Но вместо того, чтобы установить для isHideDropDown значение true, почему бы не установить объект, который связывается со свойством ItemSource, как ноль?В autocompleteBox вам необходимо установить ItemSource.Если вам не нужна функция автозаполнения, просто установите для этого объекта значение null

1 голос
/ 15 декабря 2011

Предполагается, что вы используете описанный AutoCompleteBox здесь .

Установка MinimumPrefixLength на -1 отключит функцию автозаполнения элемента управления.

Итак, если вы добавляете свойство int MinimumPrefixLength в вашу ViewModel, которое возвращает -1, когда isHideDropDown истинно, то вы можете привязаться к этому. Другой вариант - написать преобразователь значения, который преобразует логическое значение isHideDropDown в соответствующее целое число.

0 голосов
/ 15 декабря 2011

Вы также можете попробовать переопределить ItemContainerStyle:

http://msdn.microsoft.com/en-us/library/dd795156%28v=vs.95%29.aspx#customizing_the_appearance_of_the_autocompletebox

Использовать DataTrigger с привязкой, чтобы условно установить видимость ItemContainer на Visible / Collapsed

...