Я создаю пользовательский класс управления WPF, который наследовался ComboBox. Поскольку я просто определяю поведение, выходящие шаблоны ComboBox хорошо для моих целей, и я не хочу к созданному, чтобы полный набор шаблонов поддерживал различные темы. Существует ли способ указать, что мое управление использует существующие шаблоны ComboBox?
Предоставьте вашему элементу управления стиль по умолчанию и установите BasedOn на стиль по умолчанию для ComboBox:
<Style TargetType="{x:Type local:CustomControl1}"
BasedOn="{StaticResource {x:Type ComboBox}}">
</Style>
Это унаследует средство установки шаблона от стиля по умолчанию ComboBox.
Вам не нужно ничего делать. Если ваш элемент управления наследуется от ComboBox
и вы не переопределите свойство DefaultStyleKey
, он будет использовать тот же стиль, что и ComboBox
(следовательно, тот же шаблон)