Mat*_*mbs 6 silverlight xaml silverlight-2.0
我通过将UserControl添加到父控件的"Children"集合中,以编程方式将其添加到Silverlight 2中的另一个.起初这很好.如果我对窗口执行其他操作(在我的情况下,我将整个面板滚动到视图之外,然后返回到视图中),那么它显然会更改渲染顺序并使我的控件落后于其他控件.我正在寻找一种控制此行为的方法,以强制我的窗口位于顶部.Canvas控件有一个ZOrder属性,允许你设置它,但我没有使用Canvas,我正在使用网格.
我玩过使用Children.Insert和搞乱索引,并且也改变了渲染顺序,但这似乎是解决问题的一种方法.我如何强迫我的控制力在顶部?
--Matt
小智 7
Canvas.ZIndex适用于Grid(以及从UIElement派生的任何其他控件).
从http://msdn.microsoft.com/en-us/library/bb979730(VS.95).aspx可以看到 任何派生自UIElement(Silverlight中所有渲染元素的基类)的东西都支持Canvas.ZIndex属性,以及Canvas.Top和Canvas.Left.
在网格中,ZOrder 应由顺序或子项决定。位置 0 位于底部,位置 1 位于位置 0 的顶部,依此类推。
我不确定我是否同意您可以将 Canvas.ZIndex 与网格一起使用 - 它是画布的附加属性,因此仅当您的网格位于画布中时才可用。
http://msdn.microsoft.com/en-us/library/system.windows.controls.canvas.zindex(VS.95).aspx