Очень простой вопрос:
Почему я не могу увидеть _
(подчеркивание) в содержимом WPF?
Например, содержимое
<Label Content="test_t" Name="label2" />
отображается как "testt"
(с не показанным подчеркиванием).
Метки поддерживают мнемонику (то есть вы можете использовать ctrl kbd> + (ключ) kbd>, чтобы придать им фокус). Вы определяете мнемонический ключ, используя подчеркивание.
http://www.charlespetzold.com/blog/2006/01/061004.html
Если вы хотите увидеть подчеркивания, замените одиночные подчеркивания на двойные подчеркивания.
Я знаю, что опоздал на вечеринку, но я считаю, что если у вас нет ярлыка, связанного с TextBox, вам следует вместо этого использовать TextBlock.
Изменение вашего элемента управления на TextBlock решает эту проблему, поскольку только Label имеет мнемоническую поддержку
Этот стиль решает вашу проблему:
<Style x:Key="{x:Type Label}"
TargetType="{x:Type Label}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Label}">
<Border Background="{TemplateBinding Background}"
BorderThickness="{TemplateBinding BorderThickness}"
BorderBrush="{TemplateBinding BorderBrush}"
Padding="{TemplateBinding Padding}"
SnapsToDevicePixels="true">
<ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
RecognizesAccessKey="False"
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsEnabled"
Value="false">
<Setter Property="Foreground"
Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>