微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

silverlight4.0的grid边框

说明:学习参考了

http://www.cnblogs.com/chenxizhang/archive/2011/09/22/2185414.html,详细代码可以参考该网址

 

更改为边框为1px:

        private static void OnShowBorderChanged(DependencyObject d,DependencyPropertyChangedEventArgs e)
        {
            var grid = d as Grid;
            if((bool)e.OldValue)
            {
                grid.Loaded -= (s,arg) => { };
            }
            if((bool)e.NewValue)
            {
                grid.Loaded += (s,arg) =>
                {

                    //这种做法自动将控件移动到Border里面来
                    var controls = grid.Children;
                    var count = controls.Count;

                    for(int i = 0; i < count; i++)
                    {
                        var item = controls[i] as FrameworkElement;
                        var border_left = new Border()
                        {
                            BorderBrush = new SolidColorBrush(Colors.Blue),
                            BorderThickness = new Thickness(0,1,1),
                            Padding = new Thickness(1),
                        };
                        //第一行
                        var topRowBorder = new Border()
                        {
                            BorderBrush = new SolidColorBrush(Colors.Blue),
                        };
                        //第一列
                        var topColm = new Border()
                        {
                            BorderBrush = new SolidColorBrush(Colors.Blue),
                            BorderThickness = new Thickness(1,
                        };
                        var all =new Border()
                        {
                            BorderBrush = new SolidColorBrush(Colors.Blue),
                        };
                        var row = Grid.GetRow(item);
                        var column = Grid.GetColumn(item);
                        var rowspan = Grid.GetRowSpan(item);
                        var columnspan = Grid.GetColumnSpan(item);

                        //第一个文本框
                        if (row == 0 && column == 0)
                        {
                            Grid.SetRow(all,row);
                            Grid.SetColumn(all,column);
                            Grid.SetRowSpan(all,rowspan);
                            Grid.SetColumnSpan(all,columnspan);

                            grid.Children.RemoveAt(i);
                            all.Child = item;
                            grid.Children.Insert(i,all);
                        }
                        else if (row == 0 && column != 0)
                        {
                            Grid.SetRow(topRowBorder,row);
                            Grid.SetColumn(topRowBorder,column);
                            Grid.SetRowSpan(topRowBorder,rowspan);
                            Grid.SetColumnSpan(topRowBorder,columnspan);

                            grid.Children.RemoveAt(i);
                            topRowBorder.Child = item;
                            grid.Children.Insert(i,topRowBorder);
                        }
                        else if (row != 0 && column == 0)
                        {
                            Grid.SetRow(topColm,row);
                            Grid.SetColumn(topColm,column);
                            Grid.SetRowSpan(topColm,rowspan);
                            Grid.SetColumnSpan(topColm,columnspan);

                            grid.Children.RemoveAt(i);
                            topColm.Child = item;
                            grid.Children.Insert(i,topColm);
                        }
                        else
                        {
                            Grid.SetRow(border_left,row);
                            Grid.SetColumn(border_left,column);
                            Grid.SetRowSpan(border_left,rowspan);
                            Grid.SetColumnSpan(border_left,columnspan);

                            grid.Children.RemoveAt(i);
                            border_left.Child = item;
                            grid.Children.Insert(i,border_left);
                        }
                    }
                };
            }

        }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐