Если у меня есть это прямо, вы хотите, чтобы элемент управления отображал что-то произвольное вместе с выпадающей кнопкой, которая отображает список элементов с флажками рядом с ними?
Я бы даже не стал пытаться изменить стиль ComboBox
для достижения этой цели. Проблема в том, что ComboBox
более специализирован на другом пути, чем вам нужно. Если вы посмотрите на пример ComboBox ControlTemplate , то увидите, что он просто использует элемент управления Popup
для отображения списка возможных значений.
Вы можете взять части этого шаблона в качестве руководства для создания UserControl
, который будет проще для понимания и лучше обеспечит то, что вы хотите. Вы даже сможете добавить свойство SelectedItems
и такое, что ComboBox
не предоставит.
Пример того, что я подразумеваю под руководством: Popup
имеет свойство IsOpen
. В шаблоне управления он установлен на {TemplateBinding IsDropDownOpen}
, что означает, что у класса ComboBox
есть свойство IsDropDownOpen
, которое изменяется, чтобы контролировать развёртывание / свертывание Popup
.