用代码实现WPF ListView 自定义模版
来源:互联网 发布:cmd常用网络命令 编辑:程序博客网 时间:2024/05/16 18:29
WPF 的模版设计极为强大,通过模版自定义ListView 的显示样式是一种最常用的显示列表的数据的方式,本文完全通过代码实现一个ListView,
ListView绑定的数据为RecordData,且每个格子之前都会有一个圆点。
创建ListView 显示列:
public void InitRecordColumns() //初始化录音记录列信息 { XmlDocument xml_doc = new XmlDocument(); try { xml_doc.Load("SystemConfig.xml"); XmlNode node = xml_doc.SelectSingleNode("Configs/RecordConfig"); XmlNodeList members = node.ChildNodes; GridView gv_recordlist = new GridView(); gv_recordlist.Columns.Clear(); foreach (XmlNode member in members) { string name = member.ChildNodes[0].InnerText; string column_name = member.ChildNodes[1].InnerText; int hidden = Convert.ToInt32(member.ChildNodes[2].InnerText); string width = member.ChildNodes[3].InnerText; if (hidden == 0) { GridViewColumn gvc_column = new GridViewColumn(); GridViewColumnHeader gvch_column = new GridViewColumnHeader(); gvch_column.Height = 25; gvch_column.Background = Brushes.LightBlue; gvch_column.Width = Convert.ToInt32(width); gvch_column.Content = column_name; gvch_column.ToolTip = name; gvch_column.Click += new RoutedEventHandler(gvch_column_Click); gvc_column.Header = gvch_column; //gvc_column.DisplayMemberBinding = new Binding(name); DataTemplate cdt = new DataTemplate(); FrameworkElementFactory cfef = new FrameworkElementFactory(typeof(StackPanel)); Binding binding = new Binding(); binding.Path = new PropertyPath(name); cfef.SetValue(StackPanel.OrientationProperty, Orientation.Horizatal); FrameworkElementFactory subfef1 = new FrameworkElementFactory(typeof(Label)); subfef1.SetValue(Label.ContentProperty, "●"); cfef.AppendChild(subfef1); FrameworkElementFactory subfef2 = new FrameworkElementFactory(typeof(TextBox)); subfef2.SetBinding(TextBox.TextProperty, binding); cfef.AppendChild(subfef2); cdt.VisualTree = cfef; gvc_column.CellTemplate = cdt; gv_recordlist.Columns.Add(gvc_column); } } lv_record.View = gv_recordlist; lv_record.SelectionMode = SelectionMode.Single; } catch (Exception ex) { MessageBox.Show("Create record view fail." + ex.ToString()); return; } }
- 用代码实现WPF ListView 自定义模版
- WPF 用c#代码实现listview添加控件ProgressBar
- WPF 纯代码实现自定义快捷键
- 记号: WPF ListView 自定义 Header
- C# 如何自定义代码模版
- WPF实现漂亮的自定义时钟(带示例代码)
- wpf实现自定义布局
- wpf 模版
- wpf实现可编辑listview
- wpf实现可编辑listview二(通过委托回调自定义控件消息)
- WPF ListView控件布局自定义示例
- 用WPF实现在LISTVIEW中的鼠标悬停TOOLTIP显示
- [ASP.net]DataGrid自定义模版前端代码
- 高效编程习惯:VS 自定义代码模版
- listview实现自定义插入
- WPF自定义窗体的实现
- WPF下实现listview大图标效果
- WPF实现listview横向排列图标
- 关于undefined reference to 'gluPerspective' 解决方法
- UIKit框架的介绍
- ApiDemo学习之路(1)---API demo的入口
- SQL Server 触发器
- Android应用程序启动时发生AndroidRuntime : ClassNotFoundException for Activity class的解决方法
- 用代码实现WPF ListView 自定义模版
- 外汇交易领域知识(二) FIFO、Non-Hedging以及NFA Compliance Rule 2-43
- RFC3376 因特网组管理协议 第3版---关于igmp v1 v2 v3兼容说明
- Activity缺少无参默认构造方法,产生实例化错误InstantiationException
- JVM 优点与缺点的深入分析
- rhel6 下安装oracle11g(oracle官方文档)
- 关于.dequeue的一点解释
- 删除ASM
- sqlite3在windows平台下编译