3

您不能两次定义窗口的内容,但是有没有办法将一个网格覆盖在另一个网格之上?

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

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

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

4

2 回答 2

7

将一个网格覆盖在另一个网格之上:

<Grid>
<Grid x:Name="grid1" />
<Grid x:Name="grid2" />
</Grid>
于 2012-09-06T05:02:41.870 回答
0

装饰者!装饰器呈现在与主窗口不同的层中,因此您可以将棋盘放在一个网格中,而将棋子放在网格中包含在装饰器层中。 http://www.nbdtech.com/Blog/archive/2010/06/21/wpf-adorners-part-1-ndash-what-are-adorners.aspx

于 2012-09-06T05:09:18.037 回答