Cannot see _ (underscore) in WPF content

I know im late to the party but I believe that if you don't have the Label associated to a TextBox than you should use a TextBlock instead.

Changing your control to a TextBlock solves this issue since only Label has the mnemonic support


This is because Label supports defining a mnemonic based on its content, which is done by prefixing the mnemonic with an underscore (the same thing that happens in Windows Forms with &).

Use a double underscore if you want a literal one to appear:

<Label Content="test__t" Name="label2"  />

Labels support mnemonics (i.e. you can use ctrl+(key) to give them focus). You define the mnemonic key using an underscore.

http://www.charlespetzold.com/blog/2006/01/061004.html

If you want to see underscores, replace single underscores with double underscores.


This style solves your problem:

<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>

Tags:

Wpf

Xaml