【问题标题】:Understanding Uniform Grid control了解统一网格控制
【发布时间】:2011-09-06 01:26:42
【问题描述】:

我只是在尝试统一网格,它是如何工作的。

代码:

<UniformGrid Name="uniformGrid1" Rows="2" Columns="3">
        <Button Content="Rohit" Grid.Row="0" Grid.Column="0" />
        <Button Content="asit" Grid.Row="0" Grid.Column="2" />
</UniformGrid>

我发现两个按钮彼此相邻放置,但它们之间存在一列。为什么会这样? (在统一网格中,每个单元格的大小相似,它们之间应该有一个单元格)

理解为什么会这样(通过回答)但仍然想知道附加属性的意义是什么 - Grid.Row & Grid.Column 如果他们什么都不做???

【问题讨论】:

    标签: wpf wpf-controls uniformgrid


    【解决方案1】:

    UniformGrid 就像Grid 一样,可以有多个行和列,但有一个重要区别:所有行和列都将具有相同的大小
    当您需要网格行为而不需要为行和列指定不同的大小时,请使用此选项。

    例如,您已为 UniformGrid 定义了 3 列,但您有 4 元素,而第四个元素将移至下一行。

    所以基本上使用UniformGrid,您不需要将Grid.RowGrid.Column 附加属性设置为Button 或任何其他嵌套元素。

    【讨论】:

      【解决方案2】:

      UniformGrid 包含两个属性,Rows 和 Columns,用于设置行数和列数。 控件按照声明的顺序添加到网格中。 所以它们之间不会有任何列。在您的示例中,您已声明 Columns=3 并且仅添加了两个控件。但是,如果您添加另一个控件,它将放置在最后。

        <UniformGrid Name="uniformGrid1"
                       Rows="2"
                       Columns="3">
              <Button Content="Rohit"
                       Margin="2" />
              <Button Content="asit"
                       Margin="2" />
              <Button Content="asit"
                      Margin="2" />
          </UniformGrid>
      

      【讨论】:

      • 听起来不错。但是在这种情况下 Grid.Row 和 Grid.Column 附加属性有什么意义???一般来说,它们代表控件在网格中的放置 ....
      • 更新了答案。我的错误是不需要提供 Grid.Row 和 Grid.Column 附加属性。我只是复制了你的代码并没有注意到。
      • 另外一点 - 控件是按声明的顺序按行添加的。也就是说,如果您有 3 列并添加 4 个控件,那么您将有一行 3 和第二行 1。
      • 另外,通常希望只指定RowsColumns,但不能同时指定两者(未指定的会根据孩子的数量自动计算)。如果您同时指定两者,UniformGrid 的大小将精确到指定的大小,但其他控件将出现在 UniformGrid 边界之外的其他行中(更少的控件将在 UniformGrid 边界内留下空白行)。
      【解决方案3】:

      MSDN article for a UniformGrid 所示,没有Grid.RowGrid.Column 附加属性。

      相反,Intellisense 可能会建议它,因为您在文档树的更上方有一个 Grid。如果它是附加属性,则更有可能将其称为UniformGrid.Row,因为这是访问附加属性的方式。

      【讨论】:

        猜你喜欢
        • 2015-10-09
        • 1970-01-01
        • 2010-10-19
        • 1970-01-01
        • 1970-01-01
        • 2013-01-05
        • 2013-04-08
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多