У меня проблема с тем, что у меня есть DataGridColumnHeader, который получает текст с подчеркиванием в качестве содержимого, а первое подчеркивание скрыто, если вы не нажмете alt («data_grid_thing» отображается как «datagrid_thing»). Я искал вокруг и нашел некоторые решения этой проблемы для Labels, так как если вы установите для RecognizesAccessKey значение false, текст не будет считаться «AccessText» (это, однако, не работает для DataGridColumnHeader, так как удаляет все другие стили, и поэтому вместо заголовка с текстом внутри него я просто получаю пробел с текстом. Я также пытался использовать свойство BasedOn, но безрезультатно.
Я открыт для решений либо через сторону C # (изменяя свойство RecognizesAccessKey, возможно, каким-то образом найдя ContentPresenter), либо через модификацию XAML (выясняя способ сохранения стиля по умолчанию).
Мой XAML выглядит примерно так:
<Style x:Key="DataGridColumnHeaderStyle" BasedOn="{StaticResource {x:Type DataGridColumnHeader}}" TargetType="{x:Type DataGridColumnHeader}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="DataGridColumnHeader">
<Border>
<ContentPresenter
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
RecognizesAccessKey="False" />
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
Спасибо!