Comment faire pour que la largeur du bouton s'adapte automatiquement au texte d'un bouton?

StackOverflow https://stackoverflow.com/questions/1409436

  •  05-07-2019
  •  | 
  •  

Question

Je le fais actuellement, mais je fais quelque chose de mal:):

   <Style TargetType="{x:Type Button}">
      <Setter Property="MinWidth" Value="90" />
      <Setter Property="Width" Value="Auto" />
   </Style>

Je souhaite que les boutons aient une largeur minimale mais que leur largeur s’agrandisse pour s’adapter au texte du bouton.

Était-ce utile?

La solution

Ce que vous devez faire est de définir la propriété HorizontalAlignment sur Centre (ou Droite ou Gauche). Les boutons doivent être étendus par le panneau qui les contient.

   <Style TargetType="{x:Type Button}">
      <Setter Property="MinWidth" Value="90" />
      <Setter Property="HorizontalAlignment" Value="Center" />
   </Style>

Autres conseils

Si la définition de HorizontalAlignment ne fonctionne pas, vérifiez que vous n'avez pas défini de Largeur , ce qui empêchera le bouton de redimensionner. Une astuce pratique consiste à définir la propriété Width sur NaN ou .. NaN en fonction de la configuration de votre application (qui ne génère jamais d'erreur de compilation). ).

Si vous définissez simplement le paramètre MinWidth du bouton et si la largeur de votre texte est supérieure à la largeur minimale, il s'agrandira automatiquement, mais dans le cas contraire, le bouton sera identique à votre largeur minimale,

<Style TargetType="{x:Type Button}">
      <Setter Property="MinWidth" Value="90" />
</Style>

qui est suffisant pour archiver le résultat requis

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top