如何最大化所有可用区域上的元素

How to maximize element on all available area

我在网格中有 5 列和 3 行。我创建了 Button 并且需要用这个按钮填充 Column 1, Row 1 区域。我该怎么办?

您可以将Button的高度和宽度分别绑定到Grid的Row1Column1的高度和宽度。如以下代码,

<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
    <Grid.RowDefinitions>
        <RowDefinition/>
        <RowDefinition x:Name="Row1"/>
        <RowDefinition/>
    </Grid.RowDefinitions>
    <Grid.ColumnDefinitions>
        <ColumnDefinition/>
        <ColumnDefinition x:Name="Column1" />
        <ColumnDefinition/>
        <ColumnDefinition/>
        <ColumnDefinition/>
    </Grid.ColumnDefinitions>
    <Button Grid.Row="1" Grid.Column="1" 
            Width="{Binding ActualWidth,ElementName=Column1}"
            Height="{Binding ActualHeight,ElementName=Row1}"/>
</Grid>

只需将按钮上的 HorizontalAlignmentVerticalAlignment 更改为 Stretch,这样按钮就会填满网格单元格:

<Grid>
  <Grid.RowDefinitions>
    <RowDefinition/>
    <RowDefinition/>
    <RowDefinition/>
  </Grid.RowDefinitions>
  <Grid.ColumnDefinitions>
    <ColumnDefinition/>
    <ColumnDefinition/>
    <ColumnDefinition/>
    <ColumnDefinition/>
    <ColumnDefinition/>
  </Grid.ColumnDefinitions>
  <Button Grid.Row="1" Grid.Column="1" 
          HorizontalAlignment="Stretch"
          VerticalAlignment="Stretch"/>
</Grid>