Désactiver WPF étiquette de la touche de raccourci (trait de soulignement de texte est manquant)
Je suis en train de le .Content
valeur d'une Étiquette à une chaîne de caractères qui contient des caractères de soulignement; le premier caractère de soulignement est interprété comme un accélérateur de la clé.
Sans modification de la sous-jacentes de la chaîne (en remplaçant tous les _
avec __
), est-il un moyen de désactiver l'accélérateur pour les Étiquettes?
- Est-il une raison pour laquelle vous souhaitez utiliser une Étiquette, par opposition à un TextBlock?
- Oui -
Label
fait beaucoup plus que de manipuler les accélérateurs. S'applique également à d'autres contrôles (par exemple,GroupBox
) qui ne peut pas être remplacé par unTextBlock
. - c'est utile sur ce sujet: stackoverflow.com/questions/10452462/...
Vous devez vous connecter pour publier un commentaire.
Si vous utilisez un TextBlock que le Contenu de l'Étiquette, son Texte ne sera pas absorber des traits de soulignement.
Vous pourriez remplacer le RecognizesAccessKey propriété de la ContentPresenter qui est dans le modèle par défaut de l'étiquette. Par exemple:
BasedOn="{StaticResource {x:Type Label}}"
de garder le style de jeu de ressources pour les parentsWinForms
où tout est dans le code derrière.<Border Padding="{TemplateBinding Padding}">
. Sans cela, le rembourrage n'est pas incorporée et l'aspect visuel de l'Label
est différent avec ce modèle par rapport à la valeur par défaut.Pourquoi pas comme ça?
Utiliser un
<TextBlock> ... </TextBlock>
au lieu de
<Label> ... </Label>
pour imprimer le texte exact, qui est d'avoir des traits de soulignement.