2016-01-27 42 views
2

我有一個非常簡單的結構(一個更復雜的一個semplification)犯了這樣的:如何伸展並一直延伸網格到父保證金

enter image description here

所以XAML是:

<Grid > 
<Grid.ColumnDefinitions> 
    <ColumnDefinition Width="Auto" /> 
    <ColumnDefinition Width="*" /> 
</Grid.ColumnDefinitions> 
<Border x:Name="Border1Tab3" BorderBrush="Gainsboro" BorderThickness="5" Width="200" Margin="10,10,10,10" > 
</Border> 
<Border x:Name="Border2Tab3" BorderBrush="Gainsboro" Background="{x:Null}" MinWidth="100" BorderThickness="5" Grid.Column="1" Margin="10,10,10,10" > 
    <StackPanel Name="spTab3" Margin="0" Background="Red" VerticalAlignment="Stretch" HorizontalAlignment="Stretch"> <------RED 

    <Grid Name="grd7Tab3" Visibility="Visible" Background="Blue" ShowGridLines="True" VerticalAlignment="Stretch" Margin="10"> <----BLUE 
    </Grid> 

    </StackPanel> 
</Border> 

所以你可以看到我已經把紅色的堆棧面板和電網的藍色。我想將藍色網格擴展到所有紅色堆疊面板,但效果是網格不顯示。

enter image description here

,如果我把什麼東西在紅組小組只獲得對內部元件的大小,而不是比讓所有的家長大小。

enter image description here

我在WPF中的新手,但一般來說,如果我設置保證金= 0和伸展schouldn't UI元素取其父所有的說話?

感謝您的幫助 帕特里克

+1

這就是StackPanel中是如何工作,可以」您只需將其更改爲網格即可! – Usama

+0

你是我的H E R O!立即張貼它作爲答案,以便我可以感謝你。那太簡單了。正如我所說我是一個新手 – Patrick

回答

3

簡單地改變StackPanelGrid,它似乎是更適合您的情況

<Border x:Name="Border2Tab3" BorderBrush="Gainsboro" Background="{x:Null}" MinWidth="100" BorderThickness="5" Grid.Column="1" Margin="10,10,10,10" > 
     <Grid Name="spTab3" Margin="0" Background="Red" VerticalAlignment="Stretch" HorizontalAlignment="Stretch"> 
      <Grid Name="grd7Tab3" Visibility="Visible" Background="Blue" ShowGridLines="True" VerticalAlignment="Stretch" Margin="10"> 

      </Grid> 
     </Grid> 
    </Border>