星辰.Net技术社区论坛

首页 » 其他 » 问题区 » 关于移除按钮(silverlight)
zhenbaots - 2008-6-7 10:55:00
button btnTest = null;//自定义控件:“ÁAî%÷î̊www.netcsharp.cn­«”1IècQ¹
                    btnTest = new button();:“ÁAî%÷î̊www.netcsharp.cn­«”1IècQ¹
                    btnTest.Width = 50;:“ÁAî%÷î̊www.netcsharp.cn­«”1IècQ¹
                    btnTest.Height = 40;:“ÁAî%÷î̊www.netcsharp.cn­«”1IècQ¹
                    double top = _projects[j].y;:“ÁAî%÷î̊www.netcsharp.cn­«”1IècQ¹
                    double left = _projects[j].x;:“ÁAî%÷î̊www.netcsharp.cn­«”1IècQ¹
                    btnTest.id = _projects[j].id;:“ÁAî%÷î̊www.netcsharp.cn­«”1IècQ¹
                    btnTest.exit = _projects[j].exit;:“ÁAî%÷î̊www.netcsharp.cn­«”1IècQ¹
                    btnTest.SetValue(Canvas.TopProperty, top);:“ÁAî%÷î̊www.netcsharp.cn­«”1IècQ¹
                    btnTest.SetValue(Canvas.LeftProperty, left);:“ÁAî%÷î̊www.netcsharp.cn­«”1IècQ¹
                    btnTest.text = _projects[j].conent;:“ÁAî%÷î̊www.netcsharp.cn­«”1IècQ¹
                    Rect key = this.CreateKey(top, left);:“ÁAî%÷î̊www.netcsharp.cn­«”1IècQ¹
                    this.btnList.Add(key);:“ÁAî%÷î̊www.netcsharp.cn­«”1IècQ¹
                    btnTest.MouseLeftButtonDown += new MouseButtonEventHandler(btn_Down);:“ÁAî%÷î̊www.netcsharp.cn­«”1IècQ¹
                    this.LayoutRoot.Children.Add(btnTest);:“ÁAî%÷î̊www.netcsharp.cn­«”1IècQ¹
如何写一个方法来移除所有的按钮呢!!实在是想不出办法!脑子特别乱:“ÁAî%÷î̊www.netcsharp.cn­«”1IècQ¹
ourmessage - 2008-6-11 10:17:00
List<Button> btnList = new List<Button>();:“ÁAî%÷î̊www.netcsharp.cn­«”1IècQ¹
            foreach (UIElement ui in this.LayoutRoot.Children):“ÁAî%÷î̊www.netcsharp.cn­«”1IècQ¹
            {:“ÁAî%÷î̊www.netcsharp.cn­«”1IècQ¹
                string str = ui.GetType().ToString();:“ÁAî%÷î̊www.netcsharp.cn­«”1IècQ¹
                if (str == "System.Windows.Controls.Button"):“ÁAî%÷î̊www.netcsharp.cn­«”1IècQ¹
                {:“ÁAî%÷î̊www.netcsharp.cn­«”1IècQ¹
                    Button btnTest = ui as Button;:“ÁAî%÷î̊www.netcsharp.cn­«”1IècQ¹
                    btnList.Add(btnTest);:“ÁAî%÷î̊www.netcsharp.cn­«”1IècQ¹
                  :“ÁAî%÷î̊www.netcsharp.cn­«”1IècQ¹
                }:“ÁAî%÷î̊www.netcsharp.cn­«”1IècQ¹
            }:“ÁAî%÷î̊www.netcsharp.cn­«”1IècQ¹
            foreach (Button btnTest in btnList)//要从列表里面去删除,不能直接在forcach LayoutRoot.Children里面的元素时删除,因为你在遍历一个集合的时候同时去删除,那样会报错的,你可以上网查查,为什么在 迭代时不可以删除.可以参看一些Java算法方面的资料:“ÁAî%÷î̊www.netcsharp.cn­«”1IècQ¹
            {:“ÁAî%÷î̊www.netcsharp.cn­«”1IècQ¹
                this.LayoutRoot.Children.Remove(btnTest);:“ÁAî%÷î̊www.netcsharp.cn­«”1IècQ¹
            }:“ÁAî%÷î̊www.netcsharp.cn­«”1IècQ¹
zhenbaots - 2008-6-11 15:09:00
:~ 惨了 那我自己看看吧!:“ÁAî%÷î̊www.netcsharp.cn­«”1IècQ¹
1
查看完整版本: 关于移除按钮(silverlight)