Как установить ширину до 100% в WPF - PullRequest
60 голосов
/ 25 апреля 2009

Есть ли способ, как заставить компонент в WPF занять 100% доступного пространства?

Как

width: 100%;  

в CSS

У меня есть этот XAML, и я не знаю, как заставить Grid занять 100% ширины.

<ListBox Name="lstConnections">
  <ListBox.ItemTemplate>
    <DataTemplate>
      <Grid Background="LightPink">
        <Grid.ColumnDefinitions>
          <ColumnDefinition Width="Auto"/>
          <ColumnDefinition Width="Auto"/>
        </Grid.ColumnDefinitions>
        <Grid.RowDefinitions>
          <RowDefinition Height="Auto"/>
          <RowDefinition Height="Auto"/>
        </Grid.RowDefinitions>
        <TextBlock Grid.Row="0" Grid.Column="0" Text="{Binding Path=User}" Margin="4"></TextBlock>
        <TextBlock Grid.Row="0" Grid.Column="1" Text="{Binding Path=Password}" Margin="4"></TextBlock>
        <TextBlock Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="2" Text="{Binding Path=Host}" Margin="4"></TextBlock>
      </Grid>
    </DataTemplate>
  </ListBox.ItemTemplate>
</ListBox>

Результат выглядит как

альтернативный текст http://foto.darth.cz/pictures/wpf_width.jpg

Я сделал его розовым, так что очевидно, сколько места нужно. Мне нужно сделать розовую сетку шириной 100%.

Ответы [ 2 ]

82 голосов
/ 25 апреля 2009

Это контейнер из Grid, который накладывается на его ширину. В данном случае это ListBoxItem, который по умолчанию выровнен по левому краю. Вы можете установить его на растяжение следующим образом:

<ListBox>
    <!-- other XAML omitted, you just need to add the following bit -->
    <ListBox.ItemContainerStyle>
        <Style TargetType="ListBoxItem">
            <Setter Property="HorizontalAlignment" Value="Stretch"/>
        </Style>
    </ListBox.ItemContainerStyle>
</ListBox>
52 голосов
/ 11 июня 2013

Вы можете использовать HorizontalContentAlignment="Stretch" следующим образом:

<ListBox HorizontalContentAlignment="Stretch"/>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...