我们如何以编程方式更改silverlight控件的z索引?

时间:2009-11-26 07:37:08

标签: silverlight stackpanel z-index

我以编程方式在堆栈面板中添加了一些控件。我想要做的是,我希望将此stackpanel中的一个控件放在另一个控件上。具体来说,我想在此堆栈面板中的图像上放置按钮。我在c#codebehind中找不到zindex属性。虽然看起来很简单,但我无法找到解决这个问题的任何线索。有人请...... ??

3 个答案:

答案 0 :(得分:7)

尝试将所有控件放在Canvas上。然后你可以用:

设置Zindex
this.controlName.SetValue(Canvas.ZIndexProperty, 10d);

答案 1 :(得分:3)

只有Canvas面板支持ZIndex属性。 Stackpanel不是因为每个项目在面板中一个接一个地放置,所以它们不应该相互重叠。当您通过动画变换移动项目时,这可能会有点烦人,因为之前的假设实际上并非如此。

一般情况下,如果您需要将项目放在可视堆栈中,则Stackpanel不适合它。也许是Canvas或者您可以使用Grid,其中元素的oridinal位置确定其在单元格中的“zorder”。

答案 2 :(得分:2)

来自xaml:

<StackPanel Canvas.ZIndex="1">
</StackPanel>