有没有办法告诉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>
结果如下
alt text http://foto.darth.cz/pictures/wpf_width.jpg
我把它做成了粉红色,所以很明显它占用了多少空间。我需要使粉红色的网格100%的宽度。
3条答案
按热度按时间bbmckpt71#
它是
Grid
的容器,它的宽度是强加的。在本例中,这是一个ListBoxItem
,默认情况下左对齐。可以将其设置为拉伸,如下所示:z2acfund2#
你可以使用
HorizontalContentAlignment="Stretch"
如下:esbemjvw3#
对于我来说,使用一个包含2列2行的
Grid
中的组件,使用Grid.ColumnSpan="2" Grid.RowSpan="2"
,使其跨越列: