统一网格布局

本文关键字:布局 网格 | 更新日期: 2023-09-27 18:36:41

我知道统一网格不支持行跨度,但它可以通过覆盖我在 Google 上阅读的方法以某种方式实现,但我真的可以使用一个例子我该怎么做。我想要实现的是一个类似于这样的布局:

 ----------
|  1  | 2  |
 ----------
|    3     |
 ---------- 

所以基本上我希望第三个孩子跨越 2 列。我可以使用网格,但遗憾的是我不知道任何方法如何做到这一点,因为所有的孩子都是动态创建的,我无法在女巫单元格中指定孩子将被放置。

统一网格布局

我认为最好使用Grid控件。虽然你说你不能指定孩子将被放在哪个单元格中,但我会尝试解决这个问题,而不是创建一个新的控件。如果您可以解决此问题,那么这可能会对您有所帮助。

若要填充代码中的特定行,可以使用 Grid.SetRow 方法,若要填充特定列,可以使用 Grid.SetColumn 方法:

Grid.SetRow(rectangle, 1);
Grid.SetColumn(rectangle, 1);

同样,若要设置行跨度,可以使用 Grid.SetRowSpan 方法,若要设置列跨度,可以使用Grid.SetColumnSpan方法:

Grid.SetRowSpan(rectangle, 2);
Grid.SetColumnSpan(rectangle, 2);

有关此内容的完整示例,请参阅 MSDN 上的Grid.SetRow方法、Grid.SetRowSpan方法、Grid.SetColumn方法和Grid.SetColumnSpan方法页面。