如何用项目完全填充XAML中的单元格网格,使项目之间没有空白,也没有单元格的边界

时间:2019-04-29 09:32:17

标签: wpf xaml grid itemscontrol

我想用与DataGrid相关联的LabelButton来填充Label的单元格。我不想在项目演示者(包含标签和按钮)与单元格边框之间留有任何边距,也不想在每个项目(标签与按钮)之间留有任何余量。

我已经尝试使用VerticalAlignment="Stretch"HorizontalAlignment="Stretch",但是它不起作用。我也尝试将列尺寸从“自动”修改为*。仍然没有结果。我已将标签和按钮的容器从WrapPanel更改为UniformGrid,但结果不大(实际上似乎有些拉伸),但是当我尝试更改窗口尺寸时,在网格中的位置保持不变,并且不调整大小。

注意:我在VerticalAlignment="Center"中的另一个标签上使用了Grid.Column="1",并且该标签实际上位于我想要的单元格中央。但是当我更改窗口的尺寸时,标签将不会调整大小。

<DataTemplate DataType="dxsch:ResourceItem">
     <Grid Margin="0" >
          <Grid.ColumnDefinitions>
               <ColumnDefinition Width="1*" />
               <ColumnDefinition Width="*" />
               <ColumnDefinition Width="10" />
               <ColumnDefinition Width="*" />
               <ColumnDefinition Width="1*" />
          </Grid.ColumnDefinitions>
          <Label Grid.Column="1" Content="{Binding Path=Resource.Caption}" VerticalAlignment="Center" />
          <ItemsControl Grid.Column="3" ItemsSource="{Binding Path=Resource.CustomFields.Activities}">
          <ItemsControl.ItemTemplate>
          <DataTemplate>
               <UniformGrid VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
                    <Label Content="{Binding Caption}"></Label>
                         <Button VerticalAlignment="Top">
                         </Button>
               </UniformGrid>
          </DataTemplate>
          </ItemsControl.ItemTemplate>

      </ItemsControl>
   </Grid>
</DataTemplate>

我想要的是一个完全充满了我的内容的单元格,当我更改窗口尺寸时可以调整大小,并且如果特定单元格中有更多项目,则该特定单元格将完全包含这些项目而不会隐藏。

Here是带有普通网格的普通窗口的图像;全部显示了三个标签和按钮,但它们没有填充单元格,并且它们之间也有很大的空白。

here是一幅图像,显示了当我尝试调整窗口大小时(特别是缩小窗口时)会发生什么;一个标签和按钮是完全隐藏的,另一个则是半隐藏的。

0 个答案:

没有答案