1、定义一个类文件

using System.Windows;
using System.Windows.Controls;
using System.Windows.Media;namespace SilverlightApplicationGridBorderSample
{/// <summary>/// 为Grid添加的一个特殊功能/// </summary>public class GridHelper{//请注意:可以通过propa这个快捷方式生成下面三段代码public static bool GetShowBorder(DependencyObject obj){return (bool)obj.GetValue(ShowBorderProperty);}public static void SetShowBorder(DependencyObject obj, bool value){obj.SetValue(ShowBorderProperty, value);}public static readonly DependencyProperty ShowBorderProperty =DependencyProperty.RegisterAttached("ShowBorder", typeof(bool), typeof(GridHelper), new PropertyMetadata(OnShowBorderChanged));//这是一个事件处理程序,需要手工编写,必须是静态方法private static void OnShowBorderChanged(DependencyObject d, DNbxnTGymbY6j9EXsAsQAcJdFkMmMoFLAD 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 = new Border(){BorderBrush = new SolidColorBrush(Colors.LightGray),BorderThickness = new Thickness(1),Padding = new Thickness(20)};var row = Grid.GetRow(item);var column = Grid.GetColumn(item);var rowspan = Grid.GetRowSpan(item);var columnspan = Grid.GetColumnSpan(item);Grid.SetRow(border, row);Grid.SetColumn(border, column);Grid.SetRowSpan(border, rowspan);Grid.SetColumnSpan(border, columnspan);grid.Children.RemoveAt(i);border.Child = item;grid.Children.Insert(i, border);}};}}}}

2、在XAML文件中增加空间

xmlns:GridLine="clr-namespace:类所在的命名空间"

3、在Grid中引用

将以下属性增加在Grid的属性定义中,像Height等属性的使用一样。

GridLine:GridHelper.ShowBorder="True"

参考链接:https://www.cnblogs.com/chenxizhang/archive/2011/09/22/2185414.html

为WPF的Grid添加边框线相关推荐

  1. 为WPF和Silverlight的Grid添加边框线(zz)

    Grid是WPF和Silverlight中的一个重要的布局元素,其他的布局元素还有StackPanel, Canvas, Border等等.从字面上说,Grid是一个表格的意思,它的使用也确实很方便, ...

  2. 为WPF和Silverlight的Grid添加边框线

    Grid是WPF和Silverlight中的一个重要的布局元素,其他的布局元素还有StackPanel, Canvas, Border等等.从字面上说,Grid是一个表格的意思,它的使用也确实很方便, ...

  3. wpf grid添加边框

    /// <summary>/// 为Grid添加边框/// </summary>public class GridHelper{//边框的宽度static double myB ...

  4. java里怎么给excel加框线,使用Jacob操作word 添加表格时 如何给表格添加边框线

    /** *//** * 创建表格 * * @param pos    位置 * @param cols 列数 * @param rows 行数 */ public void createTable(S ...

  5. css给盒子添加边框线

    上边框线 .border-top::before{content: "";position: absolute;height: 0.02rem;width: 100%;border ...

  6. WPF Grid添加边框的两种方法

    最近项目中使用到了Grid表格,居然要加边框,查了一下,grid原生居然是不支持实线边框的.. 最终我还是实现了效果, 看看吧: 左边是直接写的每行一个border,每列写一个border,这样在行列 ...

  7. WPF中Grid实现网格,表格样式通用类(转)

    /// <summary> /// 给Grid添加边框线 /// </summary> /// <param name="grid"></ ...

  8. word样式基准_「word技巧」简单的排版技巧—给word文档添加各种样式边框线

    一直在说排版,但一篇word文档到底怎么排版才好看?这涉及到很多方面的技巧. 不过,有时候,一个很简单或是不起眼的小动作,有可能就会让整个word文档显得高大上起来. 比如说,给文档随意添加个边框线, ...

  9. alert中添加表格_Excel设置表格边框的几种方法,还有自动添加边框哟

    我们在日常工作中,使用Excel制作表格的,最后都要加上边框,打印时才会达到表格的要求,今天小编教大家快速给表格添加边框的方法,有一种是自动添加哟! 方法一: 利用功能选项卡按钮,这应该是大家经常用的 ...

最新文章

  1. Objective-c 网络编程1 Web请求和响应
  2. Linux非阻塞IO(八)使用epoll重新实现非阻塞的回射服务器
  3. 如何消费WCF Data Services定义的服务操作
  4. Bootstrap的x-editable行编辑
  5. OpenCV访问像素点的灰度值
  6. flex实现水平垂直居中
  7. 《图解设计模式》读书笔记
  8. 搜狗打不开html文件,搜狗皮肤怎么安装 安装的时候出现“无法打开此文件”
  9. 保险中的几个“时间”及生日单
  10. 为ARM处理器实现Machine Forth
  11. 【RDMA】基于RoCE的应用程序的MTU注意事项|探测网络中的MTU设置
  12. 百度地图自定义瓦片切片工具
  13. 零代码变更,巧用 Reloader 快速实现 Kubernetes 的 Configmap 和 Secret 热更新
  14. 如何在Unity中使用WebXR开发AR/VR应用
  15. Linux 常见命令四大类
  16. 在SEO中必备的知识应该滚瓜烂熟,其余的就是实战落实
  17. 小刀娱乐网源码2020版
  18. 病毒种类可分为那几类?芒果xo是否带有病毒?
  19. WebStorm配置eslint检查自动格式化(自动解决eslint问题\Vue3项目解决ESLint问题)
  20. mattermost编译

热门文章

  1. 【Windows】 Win10下报错:该文件没有与之关联的应用来执行该操作。请安装应用,若已经安装应用,请在“默认应用设置”页面中创建关联
  2. STM32+LCD1602液晶显示
  3. mongodb的几种启动方式以及关闭方式
  4. 第1节--深度学习基础介绍-机器学习--课程介绍(上)
  5. Linux算时差方法
  6. Bootstrap基本用法
  7. 电子式电动V型调节球阀工作原理
  8. 使用Docker创建镜像的容器
  9. 网易云登入、关注、评论协议
  10. Iterable和Iterator