У меня возникла проблема, когда у меня есть DataGridColumnHeader, который получает текст с подчеркиванием в качестве содержимого, а первый символ подчеркивания скрыт, если вы не нажмете alt ( "data_grid_thing" отображается как "datagrid_thing" ). Я искал вокруг бит, и нашел некоторые решения этой проблемы для ярлыков, так как если вы превратите RecognizesAccessKey в false, тогда текст не будет считаться "AccessText" (это не работает для DataGridColumnHeader, поскольку он удаляет все остальные стили, и поэтому вместо заголовка с текстом внутри него я просто получаю пробел с текстом. Я также попытался использовать свойство BasedOn, чтобы не повлиять.
Я открыт для решений либо со стороны С# (модифицируя свойство 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>
Спасибо!