Очень простой вопрос:
Почему я не вижу _
(подчеркивание) в содержимом WPF?
Например, содержимое
<Label Content="test_t" Name="label2" />
отображается как "testt"
(при этом подчеркивание не показано).
Очень простой вопрос:
Почему я не вижу _
(подчеркивание) в содержимом WPF?
Например, содержимое
<Label Content="test_t" Name="label2" />
отображается как "testt"
(при этом подчеркивание не показано).
Ярлыки поддерживают мнемонику (т.е. вы можете использовать ctrl + (key), чтобы дать им фокус). Вы определяете мнемонический ключ с помощью подчеркивания.
http://www.charlespetzold.com/blog/2006/01/061004.html
Если вы хотите видеть символы подчеркивания, замените отдельные подчеркивания двойными символами подчеркивания.
Это связано с тем, что Label
поддерживает определение мнемоники на основе ее содержимого, что делается путем префикса мнемоники с подчеркиванием (то же самое происходит в Windows Forms с &
).
Используйте двойной знак подчеркивания, если вы хотите, чтобы буквальный отображался:
<Label Content="test__t" Name="label2" />
Я знаю, что опаздываю на вечеринку, но я считаю, что если у вас нет метки, связанной с TextBox, вместо этого вы должны использовать TextBlock.
Изменение контроля над TextBlock решает эту проблему, поскольку только ярлык имеет мнемоническую поддержку
Этот стиль решает вашу проблему:
<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>