我有一个表单,用户可以选择各种表单元素并拖动它们。由于用户可以自定义表单的布局,因此我使用画布,并且所有元素都是其子元素。
当两个元素位于同一区域时,无论哪个元素最后添加为画布的子元素都将绘制在顶部。我希望能够将活动元素(被拖动的元素)设置为最顶层的元素。
我使用SetZOrder方法,将其设置为0,但它什么也没做。在检查了所有调用GetZOrder的元素后,我为每个元素得到一个0,这就是为什么将它设置为0并没有什么区别。
我找到的唯一解决方案就是删除元素并将其添加到画布中。
_mainCanvas.Children.Remove(_selectedElement);
_mainCanvas.Children.Add(_selectedElement);
虽然这有效,但我觉得必须有更优先和正确的方法。
答案 0 :(得分:1)
Z指数确定哪个是最重要的。最高的Z指数获胜。尝试将您想要最顶层的ZIndex设置为高于其他ZIndex的数字。