【发布时间】:2012-05-24 18:13:10
【问题描述】:
我以编程方式在堆栈面板中添加了一些控件。我想要做的是我希望这个堆栈面板中的一个控件被放置在另一个控件上。具体来说,我想在此堆栈面板中的图像上放置按钮。我在 c# 代码隐藏中找不到 zindex 属性。虽然这似乎很简单的问题,但我无法找到任何线索来解决这个问题。有人请......??
【问题讨论】:
标签: silverlight stackpanel z-index
我以编程方式在堆栈面板中添加了一些控件。我想要做的是我希望这个堆栈面板中的一个控件被放置在另一个控件上。具体来说,我想在此堆栈面板中的图像上放置按钮。我在 c# 代码隐藏中找不到 zindex 属性。虽然这似乎很简单的问题,但我无法找到任何线索来解决这个问题。有人请......??
【问题讨论】:
标签: silverlight stackpanel z-index
尝试将所有控件放在 Canvas 上。然后你可以设置 Zindex:
this.controlName.SetValue(Canvas.ZIndexProperty, 10d);
【讨论】:
只有Canvas 面板支持ZIndex 属性。 Stackpanel 不会,因为每个项目在面板中一个接一个地放置,因此它们不应相互重叠。当您使用动画变换移动项目时,这有时会有点烦人,因为之前的假设实际上并不正确。
一般来说,如果您需要将项目放置在可视堆栈中,则 Stackpanel 不适合它。也许是Canvas,或者您可以使用Grid,其中元素的初始位置决定了它在单元格中的“zorder”。
【讨论】:
来自 xaml:
<StackPanel Canvas.ZIndex="1">
</StackPanel>
【讨论】: