Я только начал играть с WPF.

Можно ли иметь размер текста, равный размеру Label или TextBlock, чтобы заполнить его родительский контейнер?

Спасибо, Марк

29
Mark 11 Июн 2009 в 17:26

4 ответа

Лучший ответ

Вы можете использовать ViewBox, чтобы визуально увеличить что-либо, чтобы поместиться в его контейнер. Другие решения здесь работают, но они только расширяют элемент управления, а не его содержимое. ViewBox растянет оба.

<!-- 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>
48
user1228user1228 11 Июн 2009 в 13:46

Использовать DockPanel в качестве родительского контейнера

<DockPanel>
  <TextBlock />
</DockPanel>
0
Andrija 11 Июн 2009 в 13:28

Установите HorizonalAlignment / VerticalAlignment на «растянуть».

1
Simon P Stevens 11 Июн 2009 в 13:30

Зависит от родительского контейнера

Grid, DockPanel растянет ваш элемент управления StackPanel, WrapPanel предоставит элементу управления сам размер ..

3
Arcturus 11 Июн 2009 в 13:34