下划线未显示在WPF中

时间:2011-02-25 12:41:28

标签: wpf accessor

在我的整个应用程序中,我有一些未显示的下划线(_)。

这是由于访问者。但是如何禁用它呢?适用范围广?我没有标签,文本框......

谢谢

4 个答案:

答案 0 :(得分:19)

要为所有标签全局禁用下划线,您可以覆盖此标签的默认模板:

<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),您的标签将不再识别下划线。

答案 1 :(得分:9)

使用两个下划线:

name = "__something";

答案 2 :(得分:7)

一个简单的解决方案是不使用&lt; Label&gt;。 &LT;文本框&GT;不要乱用下划线。

答案 3 :(得分:3)

您是否尝试过加倍下划线?