Стиль System.Windows.Controls.ComboBox, чтобы не отображать selectedItem

Я создаю comboBox в С# для обработки списка. Пожалуйста, посмотрите на картинку.

моя фотография

Я хочу, чтобы выбранный элемент не отображался после выбора любого элемента.

Желаемый результат будет таким: ожидаемый результат. Кроме того, если можно заставить его отображаться как кнопка, это будет лучше.

Любая идея, как это сделать?

Простой пример: V — это toggleButton

Оригинал:

selectedItem | V
 item1
 item2
 item3

Что я хочу:

V
 item1
 item2
 item3

person Jack Lee    schedule 10.02.2021    source источник
comment
stackoverflow.com/ вопросы/17737988/   -  person ASh    schedule 10.02.2021
comment
@ASh Я хочу comboBox, а не это   -  person Jack Lee    schedule 10.02.2021
comment
Кроме того, если можно заставить его отображаться как кнопка, это будет лучше. - ты сам себе противоречишь   -  person ASh    schedule 10.02.2021
comment
@ASh, потому что у comboBox есть кнопка переключения, мне интересно, можно ли удалить selectedItemContainer, тогда останется только кнопка переключения.   -  person Jack Lee    schedule 10.02.2021


Ответы (1)


Вам нужно будет отредактировать ControlTemplate для вашего ComboBox и указать его либо напрямую, либо через стиль для вашего ComboBox:

https://docs.microsoft.com/en-us/dotnet/desktop/wpf/controls/combobox-styles-and-templates?view=netframeworkdesktop-4.8

Вы можете удалить ContentPreseter с именем ContentSite и все ссылки на него в триггерах и раскадровках.

В ComboBoxItem вам придется удалить триггеры/раскадровку, которые работают, когда его значение IsSelected равно true.

person o_w    schedule 10.02.2021