当窗口最大化到与窗口相同的部分时,调整WPF网格的大小

时间:2011-12-22 10:14:20

标签: wpf grid resize

我的WPF应用程序中有一个基本网格:

<Grid>
    <Grid Height="260" HorizontalAlignment="Left" Margin="24,25,0,0" Name="grid1" VerticalAlignment="Top" Width="452">
        <Border BorderBrush="Red" BorderThickness="6"></Border>  
    </Grid>
</Grid>

网格位于窗口中间。 当我最大化窗口时,我希望网格自动调整窗口大小并保持与我指定的边距相同。

我该怎么做? 我是否必须在resize事件中计算并调整整个事物的大小?

我从中得到:

enter image description here

到此(我不想要这个):

enter image description here

我希望网格调整为与原来相同的部分,但需要全屏。

2 个答案:

答案 0 :(得分:9)

删除宽度和高度。

<Grid>
    <Grid Margin="24,25">
        <Border BorderBrush="Red" BorderThickness="6"></Border>  
    </Grid>
</Grid>

e:添加了第二个网格,使其与OP

相同

答案 1 :(得分:0)

您可以将Grid置于另一个Grid内,例如:

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="25" />
        <RowDefinition />
        <RowDefinition Height="25" />
    </Grid.RowDefinitions>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="25" />
        <ColumnDefinition />
        <ColumnDefinition Width="25" />
    </Grid.ColumnDefinitions>

    <!-- Main Grid -->
    <Grid Grid.Row="1" Grid.Column="1">

        <!-- Main Content -->
    </Grid>
</Grid>

这样您就可以将所有内容放在Main Grid内,同时在所有边缘保持25的恒定余量。