1

我有一个表单,用户可以在其中选择各种表单元素并拖动它们。由于用户可以自定义表单的布局,因此我使用的是画布,并且所有元素都是它的子元素。

当两个元素在同一区域中时,无论最后添加哪个作为画布的子元素,都将在顶部绘制。我希望能够将任何活动元素(被拖动的元素)设置为最顶部的元素。

我使用了 SetZOrder 方法,将其设置为 0,但它什么也没做。在检查我调用 GetZOrder 的所有元素后,我得到的每个元素都为 0,这就是为什么将其设置为 0 并没有什么区别。

我找到并且确实有效的唯一解决方案是删除元素并将其添加到画布。

        _mainCanvas.Children.Remove(_selectedElement);
        _mainCanvas.Children.Add(_selectedElement);

虽然这行得通,但我觉得必须有一种更喜欢和更正确的方法来做到这一点。

4

1 回答 1

1

ZIndex 确实确定哪个是最高的。最高 ZIndex 获胜。尝试将您想要最顶层的 ZIndex 设置为高于其他 ZIndex 的数字。

于 2011-12-06T19:48:38.750 回答