1

如何使子控件在 xaml中按顺序显示Grid

例如,使用以下内容:

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

我想要

  • 出现在窗口顶部的功能区
  • 依次是 2 个XamTabControls

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


尝试了以下方法:

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

4

2 回答 2

2

解决方案 1

默认情况下,控件将拉伸以适应网格单元的大小。要解决此问题,您可以通过类似...的方式定义多个网格行/列

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

然后,您可以通过 Grid.Row 和 Grid.Column 附加属性显式设置您希望每个控件位于哪一列和哪一行。您可以指定列/行的高度/宽度,或者不考虑该部分,它们将默认为统一的。

如果Height第一行的 设置为 value Auto,它将根据该行内内容的大小均匀分布高度。

解决方案 2

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

解决方案 3

第三种解决方案可能是<Grid><UniformGrid>

于 2012-05-29T20:55:26.477 回答
1

将行定义添加到您的网格。

前任:

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

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

于 2012-05-29T20:55:32.847 回答