silverlight - 不使用 Canvas 控件在 Silverlight 中控制渲染顺序 (ZOrder)

标签 silverlight xaml silverlight-2.0

我正在以编程方式将 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/

相关文章:

c# - 以编程方式寻址在 xaml 中创建的 Canvas

WPF 可执行文件不会在 Visual Studio 之外运行(资源字典问题)

c# - 在 Visual Studio 2015+ 中,如何确定哪个对象导致了 null 异常?

html - 将 Xaml 转换为 html5

wpf - 您如何让 Silverlight 调整文本内容的大小以适合?

silverlight-2.0 - 在 Silverlight 中克隆业务对象的最佳方法是什么?

silverlight - 您可以在 Silverlight 中构建整个应用程序吗?

silverlight - 同步 2 个滚动查看器 silverlight

silverlight - 如何在 WCF Web 服务中返回对象?

wpf - 如何解决 XAML 中的这个拉伸(stretch)问题?