WPF Grid horizo​​ntalalignment不起作用。尺寸不会改变

时间:2014-12-03 14:40:22

标签: c# .net wpf xaml user-interface

我有一个Stack,我在Stack中有一个Grid。

当我调整窗口大小时,我需要增加堆栈和网格大小。 我将Stack和Grid Horizo​​ntalAlignment设置为' Stretch'

堆栈工作正常,但是当我调整窗口大小时网格尺寸不会上升

这是我的代码。

<StackPanel Background="Blue" Orientation="Horizontal" HorizontalAlignment="Stretch" Grid.Column="1" Margin="13,0,0,0" >
   <Grid HorizontalAlignment="Stretch" Background="Beige" Width="515">

        <Grid.RowDefinitions>
            <RowDefinition Height="100" />
            <RowDefinition Height="240" />
            <RowDefinition Height="100" />
        </Grid.RowDefinitions>

        <Image x:Name="imageMap" Source="Resources/images.jpg" HorizontalAlignment="Stretch" Grid.Row="0" Stretch="Fill" Margin="0,0,0,0" />

   </Grid>
</StackPanel>

请告知

1 个答案:

答案 0 :(得分:3)

即使您从网格中删除宽度,它也不会起作用,因为StackPanel的方向设置为水平。当它设置为这样时,StackPanel会给它的孩子提供他们在测量布局通过See Layout here期间所需的宽度量。

要解决此问题,您需要将方向更改为垂直,或使用其他容器,例如DockPanel