相关疑难解决方法(0)

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

有没有办法告诉WPF中的组件占用100%的可用空间?

喜欢

width: 100%;  
Run Code Online (Sandbox Code Playgroud)

在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>
Run Code Online (Sandbox Code Playgroud)

结果看起来像

替代文字http://foto.darth.cz/pictures/wpf_width.jpg

我把它做成了粉红色,这显然需要多少空间.我需要使粉红色网格100%宽度.

wpf autosize width

63
推荐指数
2
解决办法
12万
查看次数

XAML Columndefinitions width*不占用可用空间

我知道columndefinition在XAML中是如何工作的,但我想做的事情并不知道如何.

我想要4列这样的:

<Grid.ColumnDefinitions>
    <ColumnDefinition Width="110" />
    <ColumnDefinition Width="*" />
    <ColumnDefinition Width="80" />
    <ColumnDefinition Width="80" />
</Grid.ColumnDefinitions>
Run Code Online (Sandbox Code Playgroud)
  1. 列具有固定宽度
  2. 列必须占用所有可用空间(是的,它是在列之间,这正是问题)
  3. 列具有固定宽度
  4. 列具有固定宽度

第二列包含文本,问题是当该文本太短时,第二列不占用所有可用空间.它会自动变小,每行都会变小.我可以在textblock中使用此代码:

MinWidth="2000"
Run Code Online (Sandbox Code Playgroud)

但这并不是一个好方法,因为当屏幕很大时这个数字可能太低了.

这里包含4列的整个列表视图:

<ListView Grid.Row="1" Grid.ColumnSpan="4" ItemsSource="{Binding blabla}" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch">
    <ListView.ItemTemplate>
        <DataTemplate>
            <Grid>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="110" />
                    <ColumnDefinition Width="*" />
                    <ColumnDefinition Width="80" />
                    <ColumnDefinition Width="80" />
                 </Grid.ColumnDefinitions>
                <Image Height="110" Width="110" Grid.Column="0" Source="{Binding blabla}" HorizontalAlignment="Stretch" />
                <TextBlock Text="{Binding blabla}" TextWrapping="Wrap" Margin="5,0,0,0" Grid.Column="1" FontSize="16" HorizontalAlignment="Stretch" TextAlignment="Left" FlowDirection="LeftToRight" MinWidth="2000" VerticalAlignment="Center" ScrollViewer.HorizontalScrollBarVisibility="Disabled" FontStretch="UltraCondensed"/>
                <TextBlock Grid.Column="2" TextWrapping="Wrap" Foreground="Black" Margin="5,0,0,0" HorizontalAlignment="Stretch" VerticalAlignment="Center"/>
                <Image Source="{Binding blabla, …
Run Code Online (Sandbox Code Playgroud)

xaml column-width

5
推荐指数
1
解决办法
2532
查看次数

标签 统计

autosize ×1

column-width ×1

width ×1

wpf ×1

xaml ×1