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

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

 

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

怎么实现画红框内容部分

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

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

重点注释 单独列出来了

LS 是列数据对象集合

listName是行数据对象集合

 var Item = new FrameworkElementFactory(typeof(ItemControl)); //生成自定义对象
 Item.SetBinding(ItemControl.SetRGBProperty, binding); //设置bing
 MyDataTemplate.VisualTree = Item;  增加到可视树

扫描二维码关注公众号,回复: 8258908 查看本文章

  
  
  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) 绑定数据 (自定义控件)对象绑定改成对象了

今天头疼~ 不应该熬夜~

猜你喜欢

转载自www.cnblogs.com/lonelyxmas/p/12075406.html