如何在WPF中设置宽度为100%
有什么办法如何告诉组件在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
我做了粉红色,所以很明显需要多less空间。 我需要使粉红色的网格100%的宽度。
它是Grid
的宽度上的容器。 在这种情况下,这是一个ListBoxItem
,默认情况下是左alignment的。 您可以将其设置为如下所示:
<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>
你可以使用HorizontalContentAlignment="Stretch"
,如下所示:
<ListBox HorizontalContentAlignment="Stretch"/>