是否可以将“画布”中的“形状”添加到2D阵列中,其中2D阵列的位置是下面的网格控制单元的位置?

| 我知道这似乎是一个完整的问题,但这里有: 我实际上是在Silverlight中创建了一个模拟作为编程练习。 我有一个半透明的画布,它位于40行30列的网格上。我可以将画布对象放入网格单元中以更改颜色,以表示水,草,沙或其他任何东西。 我将我的AI代理放置在画布上,以便它们可以在曲面上平滑移动,而不会像网格那样呈锯齿状移动。 我只是想知道是否有人在访问画布和网格之间的相对坐标方面有任何经验。我的网格单元是5x5,其中画布点显然是0到400之间的个位数。我只是想找到一种方法来收集画布上相对于其网格位置的所有Shape。 请随时提出其他问题,我知道这不是很清楚。 任何帮助将不胜感激。     
已邀请:
        如果为代理提供RenderTransform,则仍可以使用网格。这样,它们仍然位于网格内并且可以自由移动。     
          我不确定这是否对您有帮助,但是最近我遇到了类似的情况(尽管只是非常相似)。  最后,我将
Grid.Row
Grid.Column
设置为
0
,并将setting3ѭ和
Grid.ColumnSpan
设置为网格中的行数/列数。 (只需抓住ѭ5即可轻松进行动态处理。) 然后,如果要使其模仿画布,请设置
HorizontalAlignment = Left
VeritcalAlignment = Top
,然后更改
Margin.Top
Margin.Left
,而不是更改
Canvas.Top
Canvas.Left
。 对我来说就像梦一样。唯一缺少的是
Canvas.ZIndex
属性。不幸的是,模拟起来有点麻烦,因为它涉及到更改ѭ13内的业务代表顺序。但是,当我遇到这样的问题时,我通常最终只会创建一个处理所有技术性内容的属性,这样我就可以像
int
一样工作。 希望这会有所帮助,让我知道您是否使用过它,并且需要手写12英镑伪造者的手!     

要回复问题请先登录注册