Disable WPF label accelerator key (text underscore is missing) Disable WPF label accelerator key (text underscore is missing) wpf wpf

Disable WPF label accelerator key (text underscore is missing)


If you use a TextBlock as the Content of the Label, its Text will not absorb underscores.


You could override the RecognizesAccessKey property of the ContentPresenter that is in the default template for the label. For example:

<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">  <Grid>    <Grid.Resources>      <Style x:Key="{x:Type Label}" BasedOn="{StaticResource {x:Type Label}}" TargetType="Label">        <Setter Property="Template">          <Setter.Value>            <ControlTemplate TargetType="Label">              <Border>                <ContentPresenter                  HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"                  VerticalAlignment="{TemplateBinding VerticalContentAlignment}"                  RecognizesAccessKey="False" />              </Border>            </ControlTemplate>          </Setter.Value>        </Setter>      </Style>    </Grid.Resources>    <Label>_This is a test</Label>  </Grid></Page>


Use a <TextBlock> ... </TextBlock>instead of <Label> ... </Label> to print the exact text, which is having underscores.