Vous pouvez remplacer la propriété RecognizesAccessKey du ContentPresenter qui se trouve dans le modèle par défaut de l'étiquette. Par exemple :
<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>
1 votes
Y a-t-il une raison pour laquelle vous voulez utiliser une étiquette plutôt qu'un bloc de texte ?
1 votes
Oui -
Label
fait bien plus que gérer les accélérateurs. S'applique également à d'autres contrôles (par ex.GroupBox
) qui ne peut pas être remplacé par unTextBlock
.1 votes
C'est utile sur ce sujet : stackoverflow.com/questions/10452462/