如何在WPF中将宽度设置为100%

jjjwad0x  于 2023-06-24  发布在  其他
关注(0)|答案(3)|浏览(487)

有没有办法告诉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%的宽度。

bbmckpt7

bbmckpt71#

它是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>
z2acfund

z2acfund2#

你可以使用HorizontalContentAlignment="Stretch"如下:

<ListBox HorizontalContentAlignment="Stretch"/>
esbemjvw

esbemjvw3#

对于我来说,使用一个包含2列2行的Grid中的组件,使用Grid.ColumnSpan="2" Grid.RowSpan="2",使其跨越列:

<Grid Margin="50">

    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="5*"/>
        <ColumnDefinition Width="4*"/>
    </Grid.ColumnDefinitions>
    <Grid.RowDefinitions>
        <RowDefinition Height="1*"/>
        <RowDefinition Height="1*"/>
    </Grid.RowDefinitions>
  
    <!-- InputStackPanel -->
    <local:InputStackPanel Grid.ColumnSpan="2" Grid.RowSpan="2" InputsSource="{Binding droppedInputs}"/>

    
</Grid>

相关问题