【问题标题】:how can we change zindex of a silverlight control programmatically?我们如何以编程方式更改 Silverlight 控件的 zindex?
【发布时间】:2012-05-24 18:13:10
【问题描述】:

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

【问题讨论】:

    标签: silverlight stackpanel z-index


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

      • 即使是网格中的元素,您也可以使用 .SetValue(Canvas.ZIndexProperty, myValue);它会在运行时工作。
      【解决方案3】:

      来自 xaml:

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

      【讨论】:

        猜你喜欢
        • 2013-09-07
        • 1970-01-01
        • 1970-01-01
        • 2019-04-11
        • 2011-07-23
        • 2023-04-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多