Я думаю, что ответ Василе на правильном пути, но кажется, что он делает намного больше, чем нужно оригинальному постеру. Все, что требовалось сделать, это изменить фон заголовка. В то время как представленное изменение делает это, оно также делает другие вещи.
Одной из этих вещей является замена реализации по умолчанию, я полагаю, ContentPresenter, на TextBlock. Так что же произойдет, когда позже мы добавим второй расширитель к этой панели стека? Может быть что-то вроде:
<Expander>
<Expander.Header>
<StackPanel>
<Border height="5" width="5" Foreground="Blue"/>
<TextBlock>Ha!</TextBlock>
</StackPanel>
</Expander.Header>
</Expander>
Не знаю, но это нехорошо. Вместо этого я думаю, что мы хотим сохранить это простым.
<DataTemplate x:Key="expanderHeader">
<ContentPresenter
Content={Binding}
TextBlock.Background={StaticResource myBrush}/>
</DataTemplate>
<Style TargetType="Expander">
<Setter Property="HeaderTemplate" Value="{StaticResource expanderHeader}"/>
</Style>
Таким образом, когда кто-то помещает что-то, что не просто текст, в наш стилизованный расширитель, мы не ломаемся. Если вы хотите убедиться, что вы обернули все, что они делают с этим фоном, что, вероятно, желательно, это будет выглядеть так:
<DataTemplate x:Key="expanderHeader">
<Border Background={StaticResource myBrush}>
<ContentPresenter Content={Binding}/>
</Border>
</DataTemplate>