Mam problem, gdy mam DataGridColumnHeader, który odbiera tekst z podkreślnikami jako treść, i pierwsze podkreślenie jest ukryte, chyba że naciśniesz alt ("data_grid_thing" wyświetla się jako "datagrid_thing" Szukałem trochę rozwiązania i znalazłem rozwiązania tego problemu dla etykiet, ponieważ jeśli zmienisz wartość RecognizesAccessKey na false, tekst nie będzie uznawany za "AccessText" (nie działa to jednak dla DataGridColumnHeader, as Usuwa wszystkie inne stylizacje, a więc zamiast nagłówka z tekstem wewnątrz tego tekstu, dostaję tylko spację z tekstem Próbowałem użyć właściwości BasedOn, ale bez skutkuPierwszy podkreślnik w DataGridColumnHeader zostaje usunięty
Jestem otwarty na rozwiązania zarówno poprzez C# side (modyfikowanie właściwości RecognizesAccessKey przez jakikolwiek findi w ContentPresenter) lub poprzez modyfikację XAML (wymyślenie sposobu zachowania domyślnego stylu).
Moje XAML wygląda mniej więcej tak:
<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>
Dzięki!
Ach zapomniałem odwołuje się następująco: http://stackoverflow.com/questions/40733/disable-wpf-label-accelerator-key-text-underscore-is-missing To była najbliższa rzecz do rozwiązania Mogłem znaleźć, naprawiając pierwotny problem, ale powodując problem stylizacji, o którym wspomniałem powyżej. – Stuart
Naprawdę nie mogę tego odtworzyć, nie wydaje mi się, aby uzyskać dostęp do konwersji tekstu w niezmodyfikowanej DataGrid dla mnie ... –
możliwy duplikat [listbox WPF. Pomiń symbole podkreślenia w ciągach znaków (http://stackoverflow.com/questions/4601801/wpf-listbox-skip-underscore-symbols-in-strings) – phoog