У меня есть элемент ItemsControl, где datatemplate является расширителем. Ниже приведен шаблон и стиль, используемые для заголовка exapnder.WPF Expander - Highlight Header on mouse over
<DataTemplate x:Key="expanderHeader">
<ContentPresenter Content="{Binding}" TextBlock.Foreground="Blue"/>
<DataTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="TextBlock.FontWeight" Value="Bold"/>
</Trigger>
</DataTemplate.Triggers>
</DataTemplate>
<Style TargetType="Expander">
<Setter Property="HeaderTemplate" Value="{StaticResource expanderHeader}"/>
</Style>
Заголовок жирным шрифтом, когда курсор мыши над фактическим текстом заголовка, но то, что я хочу, это текст заголовка, чтобы быть подчеркнуты, если я мышь над любой частью расширителя. Чтобы исправить это, я думаю, мне нужно переместить триггер в сам стиль расширителя, но здесь я не уверен, как обеспечить выделение только заголовка, а не всего содержимого внутри расширителя, что происходит, когда я использую следующий стиль:
<Style TargetType="Expander">
<Setter Property="HeaderTemplate" Value="{StaticResource expanderHeader}"/>
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="TextBlock.FontWeight" Value="Bold" />
</Trigger>
</Style.Triggers>
</Style>
Как я могу настроить выше, так что только текст заголовка жирным шрифтом, когда thenouse перемещается по любой части расширителя (при расширении конечно).
Большое спасибо. Я думаю, что это прекрасное решение и работает для меня. – mike01010