3

如果我有一个包含五行的网格,则 Grid.Row 值始终为 0、1、2、3 和 4。如果在设计时,我想在第一行之后插入一行,我将设置其 Grid.Row 值为 1,但随后我需要更新插入行下方四行的 Grid.Row 值。这很烦人且容易出错。

相反,如果 Grid.Row 值是相对的(我不知道用什么词来描述这一点),我会将 Grid.Row 值设置为 10、20、30、40 和 50。在这种情况下,如果我想在第一行之后插入一行,我将其 Grid.Row 值设置为 15。我不需要更改任何其他行。布局引擎会知道将行按升序排列。Grid.Row 值不以这种方式运行是否有某种原因?

HTML Z-Index 值的工作方式如下

4

1 回答 1

7

Grid.Row 值不以这种方式运行是否有某种原因?

这将要求 Grid 在其布局期间确定每个可能的行(通过迭代它的所有子项),然后放置项目。这会减慢布局过程并使布局过程复杂化。

通过使网格行显式化,可以避免这种情况,并且在 Grid 排列其子项时有助于布局传递的整体性能。

HTML Z-Index 值的工作方式如下

仅供参考 - CanvasWPF 中的类也使用这种方法进行 Z 索引。

于 2013-03-20T15:27:58.713 回答