WPF Grid子控件排序

时间:2012-05-29 20:32:12

标签: wpf xaml

如何在xaml Grid中对按顺序显示的子控件?

例如,使用以下内容:

<Grid>
    <igRibbon:XamRibbon...>
    <igWindows:XamTabControl...>
    <igWindows:XamTabControl...>
</Grid>

我想要

  • 功能区将显示在窗口的顶部
  • 后面是2个XamTabControls 按顺序

但是,我的XamTabControl似乎延伸占据整个窗口隐藏XamRibbon。

<小时/>

尝试以下方法:

我确信这不是很棘手或困难,但我找不到需要设置的适当控件/属性。我尝试设置Grid.Row="1"(对于第一个XamTabControl),但这似乎没有区别。

2 个答案:

答案 0 :(得分:2)

解决方案1 ​​

默认情况下,控件将拉伸以适合网格单元格的大小。要解决此问题,您可以通过类似......

之类的内容定义多个网格行/列
<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height=""/>
        <RowDefinition/>
    </Grid.RowDefinitions>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width=""/>
        <ColumnDefinition/>
    </Grid.ColumnDefinitions>
</Grid>

然后,您可以通过Grid.Row和Grid.Column附加属性显式设置每个控件所需的列和行。您可以指定列/行的高度/宽度,或者保留该部分,它们将默认为均匀。

如果第一行的Height设置为值Auto,则会根据该行内的内容大小均匀分配高度。

解决方案2

或者将每个控件内部的垂直和水平对齐方式从拉伸更改为其他值。

解决方案3

第三种解决方案可能是将<Grid>更改为<UniformGrid>

答案 1 :(得分:1)

向网格添加行定义。

例如:

    <Grid>
  <Grid.RowDefinitions>
    <RowDefinition>
    <RowDefinition>
  </Grid.RowDefinitions>
</Grid>

然后设置Grid.Row应该响应孩子的顺序。

相关问题