Установка высоты выпадающего списка в WPF

У меня есть combobox в WPF, что я добавляю элементы во время выполнения (через привязку данных к списку). Я бы хотел установить высоту выпадающего окна динамически, чтобы показать все (или большинство) элементов. К сожалению, кажется, что высота выпадающего меню задается один раз и не может быть динамически изменена. Кажется, что он имеет одинаковый размер.

Есть ли относительно простая настройка высоты выпадающего меню?


Да, я попытался установить его после добавления элементов в поле со списком. В отладчике это похоже на новое значение. Однако, когда я открываю раскрывающийся список, он падает до размера по своему выбору. Я пробовал преувеличить MaxDropDownHeight и даже установил его в "Авто" безрезультатно.

Ответ 1

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

Вы пытались установить это значение?

Ответ 2

Для меня проблема заключалась в том, что выпадающий список ComboBox имел высоту в 95 пикселей относительно количества элементов.

Мой источник данных для ComboBox был Collection<>, но после изменения его на ObservableCollection<> открывается раскрывающийся список ComboBox, показывающий все элементы.

Теперь свойство MaxDropDownHeight работает отлично.

Ссылка: Этот комментарий здесь Сделать сокращение выпадающего списка короче?

Ответ 3

Установите свой стиль ComboBox = {x: Null}, чтобы убедиться, что у вас нет проблемы стиля, влияющей на размер раскрывающегося списка.