2014-12-03 90 views
3

我有一个堆栈,我有一个网格内的堆栈。WPF Grid horizo​​ntalalignment不起作用。大小不会改变

我需要在调整窗口大小时增加堆栈和网格大小。 我设置堆栈和网格Horizo​​ntalAlignment以“全屏”

堆栈工作正常,但栅格尺寸别当我调整窗口的大小

这是我的代码引发。

<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> 

请告知

+2

,你认为这可能是固定的'WIDTH =“515”'您设置了你的网格? – 2014-12-03 14:42:38

+3

当使用Orientation = Horz和HorzAlignment = Stretch作为@ChrisW的StackPanel – kenny 2014-12-03 14:44:40

+0

时,我认为stretch会被忽略。已经指出,你已经设置了一个固定宽度的“Grid”。当你删除它时,你的'Grid'应该能够和它的父母一起伸展。 – Bolu 2014-12-03 14:55:07

回答

3

即使你与宽度从网格中删除,因为StackPanel中的方向设置为水平将无法正常工作。当它被这样设置时,StackPanel在度量布局传递See Layout here期间给它的子节点所需的宽度。

要解决这个问题,你需要的方向改为垂直,或使用不同的容器,如DockPanel中

+0

谢谢。我改变它,现在它可以按我的需要工作。 – developergg 2014-12-03 15:17:20

相关问题