在Windows Phone UI上将按钮置于前面

时间:2011-11-19 19:22:17

标签: c# silverlight windows-phone-7 telerik

在我的应用程序的主页面上,我有一个包含6 x 4列和按钮行的网格。

我想将其中一个按钮移到中间,然后使用Telerik的RadControls将其缩小。

我可以很容易地做到这一点但是当我按下时,按钮显示在网格上的所有其他按钮后面,我似乎无法将它放到前面。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:5)

项目添加到面板/网格的顺序决定了哪个控件高于另一个。环顾四周看起来你有两个选择:

  1. 更改要置于顶部的按钮的Canvas.ZIndex。 是的,它似乎很奇怪,因为没有画布,但它适用于任何面板或网格。

  2. 从父网格中删除并重新添加子项,使其成为最后一个。我在“CleverCoder”发布了一段很好的代码片段:http://forums.silverlight.net/post/63607.aspx

    //Originally posted by CleverCode - http://forums.silverlight.net/post/63607.aspx
    public static void PushToTop(this FrameworkElement element)
    {
        if (element == null) throw new ArgumentNullException("element");
        var parentPanel = element.Parent as Panel;
        if (parentPanel != null)
        {
            // relocate the framework element to be the last in the list (which makes it "above" everything else)
            parentPanel.Children.Remove(element);
            parentPanel.Children.Add(element);
            parentPanel.UpdateLayout();
        }
    }