我正在以编程方式将 UserControl 添加到 Silverlight 2 中的另一个,方法是将其添加到父控件的“Children”集合中。起初这工作正常。如果我对窗口执行其他操作(在我的情况下,我将整个面板滚动到 View 之外,然后返回 View ),那么它显然会更改渲染顺序并导致我的控件位于其他控件的后面。我正在寻找一种方法来控制这种行为,强制我的窗口位于顶部。 Canvas 控件有一个 ZOrder 属性,允许您设置它,但我没有使用 Canvas,我使用的是 Grid。
我尝试过使用 Children.Insert 并弄乱索引,这也改变了渲染顺序,但这似乎是解决该问题的一种笨拙的方法。如何强制我的控件位于顶部?
--马特
最佳答案
Canvas.ZIndex 适用于 Grid(以及从 UIElement 派生的任何其他控件)。
从 http://msdn.microsoft.com/en-us/library/bb979730(VS.95).aspx 可以看出任何从 UIElement(Silverlight 中所有呈现元素的基类)派生的内容都支持 Canvas.ZIndex 属性,以及 Canvas.Top 和 Canvas.Left。
关于silverlight - 不使用 Canvas 控件在 Silverlight 中控制渲染顺序 (ZOrder),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/569751/