在我的整个应用程序中,有一些下划线(_)没有显示出来。
这是由于访问器造成的。但我该如何禁用它?全局应用?我在标签、文本框等控件上都没有使用它们。
谢谢
要在全局范围内禁用所有标签的下划线,您可以像这样覆盖标签的默认模板:
<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>
</Style>
这与默认模板不同的是这一行:RecognizesAccessKey="False"
。
将这个样式放在应用程序的全局资源(App.xaml
)中,您的标签就不会再识别下划线了。
使用两个下划线:
name = "__something";
Text
而不是Content
。 - Kate Gregory