原文:WPF 动态列(DataGridTemplateColumn) 绑定数据 (自定义控件)

因为项目需要 要实现这个~

怎么实现画红框内容部分

田字格和上面Textbox 属于一个自定义控件  大致功能是获得一个字符串 和一组颜色值 最后田字格会显示不同颜色

这篇主要讲 DataGridTemplateColumn 并实现重写Datatemplate

重点注释 单独列出来了

LS 是列数据对象集合

listName是行数据对象集合

var Item = new FrameworkElementFactory(typeof(ItemControl)); //生成自定义对象

 Item.SetBinding(ItemControl.SetRGBProperty, binding); //设置bing

 MyDataTemplate.VisualTree = Item;  增加到可视树


  1. public void addColumn()
  2. {
  3. LS.Add("表下カップ綿天竺仮縫い_37s_C_1");
  4. LS.Add("上カップマーキしつけ_28s_C_2");
  5. LS.Add("上下カップ接ぎ_33s_C_3");
  6. LS.Add("上下カップ押え_62s_B_4");
  7. LS.Add("カップ脇しつけ_14s_B_5");
  8. LS.Add("表上カップレース端押さえ_41s_B_6");
  9. for (int i = 0; i < LS.Count; i++)
  10. {
  11. DataGridTemplateColumn dl = new DataGridTemplateColumn();
  12. dl.Header = LS[i];
  13. DataTemplate MyDataTemplate = new DataTemplate();
  14. Binding binding = new Binding()
  15. {
  16. Path = new PropertyPath("Ml.Num" + (i + 1))// 需绑定的数据源属性名
  17. ,
  18. Mode = BindingMode.TwoWay// 绑定模式
  19. ,
  20. UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged
  21. };
  22. var Item = new FrameworkElementFactory(typeof(ItemControl));
  23. Item.SetBinding(ItemControl.SetRGBProperty, binding);
  24. MyDataTemplate.VisualTree = Item;
  25. dl.CellTemplate = MyDataTemplate;
  26. dataGrid.Columns.Add(dl);
  27. }
  28. }

因为是后台的 所以没有XAML什么事

想知道这个控件怎么生成的 可以看2019年10月的所有WPF文章 一步一步的知识点都在 还不明白的 可以留言

WPF 动态列(DataGridTemplateColumn) 绑定数据 (自定义控件)对象绑定改成对象了

今天头疼~ 不应该熬夜~

WPF 动态列(DataGridTemplateColumn) 绑定数据 (自定义控件)的更多相关文章

  1. WPF 动态列(DataGridTemplateColumn) 绑定数据 (自定义控件)对象绑定

    原文:WPF 动态列(DataGridTemplateColumn) 绑定数据 (自定义控件)对象绑定 WPF 动态列(DataGridTemplateColumn) 绑定数据 (自定义控件) 上面的 ...

  2. WPF Datagrid 动态生成列 并绑定数据

    原文:WPF Datagrid 动态生成列 并绑定数据 说的是这里 因为列头是动态加载的 (后台for循环 一会能看到代码) 数据来源于左侧列 左侧列数据源 当然num1 属于临时的dome使用  可 ...

  3. vue原生表格怎样实现动态列及表格数据下载

    最近项目经常用到带有合并效果以及动态列的表格,而翻阅iview和element-ui官网没有找到合适的(也有可能自己的水平有限,不会改写),所以只好自己用原生表格写了一个,具体效果如下: 这个表格右侧 ...

  4. C#之单列双列集合绑定数据

    ---恢复内容开始--- 1.单列集合绑定方式 davList.DataSource=new BindingList<类型名>(集合名); 2.双列集合绑定方式 BindingSource ...

  5. WPF - 多列ListView添加数据的多种方式

    多列ListView: <ListView x:Name="listView"> <ListView.View> <GridView> < ...

  6. [Phoenix] 八、动态列

    摘要: 传统关系型数据库的动态列实现只能依赖逻辑层的设计实现,而Phoenix是HBase上的SQL层,借助HBase特性实现的动态列功能,具有高度的灵活性,告别业务逻辑层的复杂设计. 一.概要 动态 ...

  7. WPF (DataGridColumnHeader)实现自义定列头样式 并绑定数据

    原文:WPF (DataGridColumnHeader)实现自义定列头样式 并绑定数据 实现功能是这样的 自定义列头 样式 样式里的 数据来源于后台绑定 这篇就说头样式 和头样式数据绑定 思路 1) ...

  8. WPF的DataGrid的某个列绑定数据的三种方法(Binding、Converter、DataTrigger)

    最近在使用WPF的时候,遇到某个列的值需要根据内容不同进行转换显示的需求.尝试了一下,大概有三种方式可以实现: 1.传统的Binding方法,后台构造好数据,绑定就行. 2.转换器方法(Convert ...

  9. Wpf DataGrid动态添加列,行数据(一)

    由于最近有这方面的需求,而且刚接触wpf不久,在网上找了很多方法,都不是使用MVVM模式的,因为DataGrid的列不能绑定 这就难受了,我想了个折中的方法,这个是使用了MVVMLight的消息机制, ...

随机推荐

  1. 程序结构设计理论(Android)

    程序结构设计理论(Android) 作者:邓能财 2019年9月24日 个人简介 姓名:邓能财 年龄:26 毕业学校:东华理工大学 院系:理学院 专业:信息与计算科学 邮箱:2420987186@qq ...

  2. iOS-关于自定义分段选择器的一些小事(Segmented)

    系统自带的分段选择就是 UISegmentedControl ,也有一些大佬自定义的 Segmented ,比如Git上的 HMSegmentedControl ,我以前最初的项目中,也有用到过,如果 ...

  3. spring为类的静态属性实现注入

    我们知道,正常情况下,spring的一个bean要依赖其他资源,如properties或其他bean,直接利用@Value或@Autowired就可以了.这两个注解就相当于spring applica ...

  4. 【Java基础】Annotation 的本质和自定义实现

    Java 中注解的实现原理 一.引言 在 Java5 之前,利用 xml 进行配置是各大框架的常规操作,这种方式可以实现松耦合并完成框架中几乎所有需要的配置,但随着项目的扩展,xml 文件本身的内容将 ...

  5. 学习之Redis(二)

    Redis的对象和数据结构 一.字符串对象(请参考学习之Redis(一):https://www.cnblogs.com/wbq1994/p/12029516.html) 二.列表对象 列表对象的编码 ...

  6. centos安装jdk10

    下载一个jdk10文件到linux : wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=ac ...

  7. 【Linux命令】setfacl、getfacl命令基本用法(文件权限全文控制列表acl)

    一.setfacl命令setfacl用来细分linux下的文件权限. chmod命令可以把文件权限分为u,g,o三个组,而setfacl可以对每一个文件或目录设置更精确的文件权限. 换句话说,setf ...

  8. 【c&c++】变量初始化

    /* 全局变量会默认初始化为0 空 和 false,局部变量要手动初始化,或者直接scanf输入值进去.如果不初始化,n可能是0也有可能是其他数,大多数情况下会是0,但不初始化是不安全的,所以Dev直 ...

  9. C和C++常见误区以及问题整理

    c和c++的关系 c是面向过程的语言,c++是在c的基础上扩展的面向对象的编程语言. c++具备c的所有功能,对c的库完全兼容. c++的标准在98年确定,在那之前已经有一些库大量使用. 新标准中,推 ...

  10. Python3 获取系统资源

    cpu disk mem import osimport psutilos.chdir(os.getcwd()) #cpu def get_cpu_info(): cpu_percent=psutil ...