Styling WPF / Silverlight ComboBox - PullRequest
3 голосов
/ 23 мая 2011

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

У меня есть определенное всплывающее окно, как в:

<Popup 
      Name="Popup"
      Placement="Bottom"
      IsOpen="{TemplateBinding IsDropDownOpen}"
      .....>
    .... some content
</Popup>

Я знаю, что элемент управления ComboBox имеет всплывающее окно с именем "PART_Popup". Как заменить реализацию по умолчанию своей собственной?

Спасибо

Ответы [ 2 ]

1 голос
/ 23 мая 2011

Вы можете использовать загруженное событие и искать эту часть в коде, чтобы заменить его, что может не сработать, поскольку не все элементы PART являются обязательными. Обычно вы копируете существующий шаблон и меняете соответствующие детали, вы можете установить шаблон через свойство ComboBox.Template.

Если вы хотите только стилизовать, а не вносить какие-либо существенные изменения, вы можете использовать неявный стиль и для всплывающего окна.

Шаблоны по умолчанию можно найти на MSDN:

WPF ( «Темы WPF по умолчанию». Ссылка)
Silverlight (различные подстраницы)

0 голосов
/ 23 мая 2011

В XamlpadX вы можете нажать кнопку стилей и выбрать выпадающий список - показан шаблон для выпадающего списка - скопировать его в свой проект и поэкспериментировать.

http://blogs.msdn.com/b/llobo/archive/2008/08/25/xamlpadx-4-0.aspx

Вы также можете взглянуть на стиль управления здесь:

http://msdn.microsoft.com/en-us/library/ms752094.aspx

и примеры шаблонов управления здесь:

http://archive.msdn.microsoft.com/wpfsamples

...