28 votes

WPF/Silverlight XAML Stretch Text Size to Fit container ?

Je viens de commencer à jouer avec WPF.

Est-il possible de faire en sorte que la taille du texte d'une étiquette ou d'un bloc de texte s'adapte à celle de son conteneur parent ?

Merci, Mark

45voto

Will Points 76760

Vous pouvez utiliser une ViewBox pour agrandir visuellement un objet afin qu'il tienne dans son conteneur. Les autres solutions proposées ici fonctionnent, mais elles ne font qu'étirer le contrôle, pas son contenu. La ViewBox étire les deux.

<!-- Big grid, will stretch its children to fill itself -->
<Grid Width="1000" Height="1000">
 <!-- The button is stretched, but its text remains teeny tiny -->
 <Button>
  <!-- The viewbox will stretch its content 
  to fit the final size of the button -->
  <Viewbox
      Margin="4"
      VerticalAlignment="Stretch"
      Height="Auto">
      <!-- The textblock and its contents are 
      stretched to fill its parent -->
      <TextBlock
          Text="Bartenders" />
  </Viewbox>
 </Button>
</Grid>

2voto

Arcturus Points 14366

Dépend du conteneur parent

Grid, DockPanel étireront votre contrôle StackPanel, WrapPanel laisseront au contrôle le soin de se dimensionner lui-même

1voto

Simon P Stevens Points 17536

Définir l'alignement horizontal et l'alignement vertical sur "stretch".

0voto

Andrija Cacanovic Points 3518

Utiliser DockPanel comme conteneur parent

<DockPanel>
  <TextBlock />
</DockPanel>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X