在画布上放置类似矩形的对象

本文关键字:对象 | 更新日期: 2023-09-27 18:29:44

我通过在堆叠面板上放置矩形和其他对象来启动我的应用程序。这种方法一直有效,直到我想分割我的矩形,并有两列矩形。垂直堆叠面板工作得很好,直到我需要把矩形分成两列,把东西放在左边和右边。

所以我换了一块画布。现在mainCanvas.Children.Add(网格);//似乎取代了上次添加在屏幕上的内容。你知道如何控制添加到画布上的项目的位置吗?

编辑:

很明显,画布是错误的面板。两列的堆叠板可能会起作用。但是,当我审视我实际想要实现的目标时,列的数量并不局限于两列,而是n列。为什么?因为该应用程序是一个流程图样式的应用程序,用于构建自定义语言脚本。菱形决策形状将一列拆分为两列,可以再拆分为两个额外的列。

我想知道是否使用单个堆栈面板,只制作一个水平包含多个网格的网格。但是鼠标事件必须足够智能,才能知道你实际所在的网格中的哪个网格。我认为这是不可撤销的,但也不是微不足道的。。。只是想看看这个选择是否有明显的用途,而我作为一名wpf新秀所错过的。

第2版:我只使用网格的问题是,当窗口被拉伸时网格的大小不会调整为新窗口的大小。

在画布上放置类似矩形的对象

制作一个由多个其他网格组成的网格,然后使用isMouseOver测试堆栈面板的单个子网格中实际需要鼠标高亮显示的网格。