我可以在另一个网格上层叠网格吗?

时间:2012-09-06 01:40:45

标签: c# wpf xaml grid overlay

您无法两次定义窗口内容,但有没有办法将网格覆盖在另一个网格的顶部?

在我的具体情况下,我正在创建一个国际象棋游戏,我想要一个网格来管理这些棋子和他们的UI,另一个网格来管理黑白方块。我想这样做(而不是使用一个具有不同Z索引的网格),因为在游戏中我想在有效移动的方块上添加不透明矩形。如果我使用单独的网格,我可以通过myGrid.Children.Clear()清除矩形以清理方形UI,但保留部分。

另一种解决方案是清除特定Z指数的所有子项。那可能吗?

感谢您的帮助,我可以根据需要发布代码!

2 个答案:

答案 0 :(得分:7)

将一个网格叠加在另一个网格上:

<Grid>
<Grid x:Name="grid1" />
<Grid x:Name="grid2" />
</Grid>

答案 1 :(得分:0)

装饰器!装饰体在与主窗口分开的层中渲染,因此您可以将棋盘放在一个网格中,并将网格中的碎片包含在装饰层中。 http://www.nbdtech.com/Blog/archive/2010/06/21/wpf-adorners-part-1-ndash-what-are-adorners.aspx