C#中WPF ListView绑定数据的实例详解

发布时间: 2019-03-09 19:29:46 来源: 互联网 作者: 晨曦888 栏目: C#教程 点击: 298

这篇文章主要介绍了C#中WPF ListView绑定数据的实例详解的相关资料,希望通过本文能帮助到大家,让大家理解掌握这部分内容,需要的朋友可以参考下

C#中WPF ListView绑定数据的实例详解

WPF中ListView用来显示数据十分方便, 我们可以将它分成几个列,每一个列用来显示一条数据,但是又是在一方之中。

那么怎样实现这样的效果的呢,这就要用绑定了。

我们先来看一看他的xmal代码

 
  1. <ListView Name="receiveList" Grid.Row="0">
  2. <ListView.View>
  3. <GridView>
  4. <GridView.Columns>
  5. <GridViewColumn Header="发件人"
  6. Width="200"
  7. DisplayMemberBinding="{Binding Path=Senderuser}" />
  8. <GridViewColumn Header="主题"
  9. Width="350"
  10. DisplayMemberBinding="{Binding Path=Topic}" />
  11. <GridViewColumn Header="附件" DisplayMemberBinding="{Binding Path=Ffile}"
  12. Width="200" />
  13. <GridViewColumn Header="时间" Width="150" DisplayMemberBinding="{Binding Path=Time}"/>
  14. </GridView.Columns>
  15. </GridView>
  16. </ListView.View>
  17. </ListView>

上面的代码中每一个GridViewColumn都有一个绑定{Bind Path=作为绑定源的类中的成员属性}

下面来看一下绑定的类

 
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. namespace EmailClient
  8. {
  9. class MailList : INotifyPropertyChanged
  10. {
  11. public string senduser;
  12. public string topic;
  13. public string file;
  14. public string time;
  15. public event PropertyChangedEventHandler PropertyChanged;
  16. public string Senderuser
  17. {
  18. get
  19. {
  20. return senduser;
  21. }
  22. set
  23. {
  24. senduser = value;
  25. if (this.PropertyChanged != null)//激发事件,参数为Age属性
  26. {
  27. this.PropertyChanged.Invoke(this, new PropertyChangedEventArgs("Age"));
  28. }
  29. }
  30. }
  31. public string Topic
  32. {
  33. get
  34. {
  35. return topic;
  36. }
  37. set
  38. {
  39. topic = value;
  40. if (this.PropertyChanged != null)//激发事件,参数为Age属性
  41. {
  42. this.PropertyChanged.Invoke(this, new PropertyChangedEventArgs("Age"));
  43. }
  44. }
  45. }
  46. public string Ffile
  47. {
  48. get
  49. {
  50. return file;
  51. }
  52. set
  53. {
  54. file = value;
  55. if (this.PropertyChanged != null)//激发事件,参数为Age属性
  56. {
  57. this.PropertyChanged.Invoke(this, new PropertyChangedEventArgs("Age"));
  58. }
  59. }
  60. }
  61. public string Time
  62. {
  63. get
  64. {
  65. return time;
  66. }
  67. set
  68. {
  69. time = value;
  70. if (this.PropertyChanged != null)//激发事件,参数为Age属性
  71. {
  72. this.PropertyChanged.Invoke(this, new PropertyChangedEventArgs("Age"));
  73. }
  74. }
  75. }
  76. public MailList() { }
  77. public MailList(string senduser,string topic,string file,string time)
  78. {
  79. this.senduser = senduser;
  80. this.topic = topic;
  81. this.file = file;
  82. this.time = time;
  83. }
  84. }
  85. }

现在我们可以看到我们刚才绑定的属性就在这个类中,那么该怎样应用呢

下面来看一下我的应用代码

 
  1. private List<MailList> maillist;
 
  1. maillist = new List<MailList>();

以上的代码是声明一个list来保存我们插入的数据的,由于我的源代码是从服务器中得到的邮件列表。

 
  1. maillist.Add(new MailList("xxxxxx", "xxxxxxxx", "xxxxxx", "xxxxxx"));
 
  1. receiveList.ItemsSource = maillist;

如果这样写那么那么上面的途中得到的就是xxxxxx了。

那么绑定就是这样了。

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

本文标题: C#中WPF ListView绑定数据的实例详解

本文地址: http://www.cppcns.com/ruanjian/csharp/205903.html

C#中WPF ListView绑定数据的实例详解相关推荐

  1. props传递对象_vue组件中使用props传递数据的实例详解

    在 Vue 中,父子组件的关系可以总结为 props向下传递,事件向上传递.父组件通过 props 给子组件下发数据,子组件通过事件给父组件发送消息.看看它们是怎么工作的. 一.基本用法 组件不仅仅是 ...

  2. C# WPF ListView控件的实例详解

    C#的WPF作为现在微软主流的桌面程序开发平台,相比过去的MFC时代,有了非常多的不同.本人刚从MFC平台转过来,以为可以轻松上手,哪知碰到了很多问题,十分不解.不得不乖乖回去看了本书,再继续回到边左 ...

  3. java 分割数据_java 分割csv数据的实例详解

    java 分割csv数据的实例详解 实际需要解析的csv中很多都是从excel中转过来的,数据中本身包含了逗号的数据导致split的过程中发现数据对不上,因此,基于这种特性,重新写了一个csv数据的分 ...

  4. python中if语句的实例_对python中if语句的真假判断实例详解

    说明 在python中,if作为条件语句,当if后面的条件参数为真时,则执行后面的语句块,反之跳过,为了深入理解if语句,我们需要知道if语句的真假判断方式. 示例 在python交互器中,经过测试发 ...

  5. python中类的构成_Python中类型关系和继承关系实例详解

    本文详细介绍了Python中类型关系和继承关系.分享给大家供大家参考.具体分析如下: 如果一个对象A持有另一个对象B的ID,那么检索到A之后就可以检索到B,我们就说存在一个A到B的导航.这种导航关系使 ...

  6. java web初始化实例_Struts2中实现web应用的初始化实例详解

    Struts2中实现web应用的初始化实例详解 在JavsSE中,main方法为应用提供了入口,而在Android中,我们可以使用Application对于整个应用的生命周期进行管理,那么在基于Str ...

  7. mcrypt cbc php7,PHP7.1中使用openssl替换mcrypt的实例详解

    在php开发中,使用mcrypt相关函数可以很方便地进行AES加.解密操作,但是PHP7.1中废弃了mcrypt扩展,所以必需寻找另一种实现.在迁移手册中已经指出了用openssl代替mcrypt,但 ...

  8. Python中Print()函数的用法___实例详解(二)(全,例多)

    Python中Print()函数的用法___实例详解(二)(全,例多) 目录 十一.Print()小例子 十二.Print()中文输入显示乱码问题 十三.Print()写入文件 十四.print()在 ...

  9. mysql添加新的实例_MySQL中添加新用户权限的实例详解

    有2个不同的方法增加用户:通过使用GRANT语句或通过直接操作MySQL授权表.比较好的方法是使用GRANT语句,因为他们是更简明并且好像错误少些. 下面的例子显示出如何使用MySQL客户安装新用户. ...

最新文章

  1. MVC与三层架构的区别
  2. 数据结构与算法 | 堆排序
  3. 洛谷-图的遍历-P2661-信息传递
  4. 邮件服务器两种协议,邮件服务器协议
  5. 解决Docker for window与VMware虚拟机同时安装,造成虚拟机网络不通以及无法启动问题...
  6. 拓端tecdat|R语言逻辑回归和泊松回归模型对发生交通事故概率建模
  7. Linux 进程地址空间1_数据结构和接口
  8. 软件测试qtp教程,QTP功能测试教程 - zero点 - 51Testing软件测试网 51Testing软件测试网-软件测试人的精神家园...
  9. 3个维度,帮助IT部门快速完成企业云盘选型!
  10. Python pytz时区转换
  11. 【基于obs插件-5】-屏幕截图
  12. openssl密码套件详解
  13. OpenCV-单峰三角阈值法Thresh_Unimodal
  14. IMDb站点起诉加州限制演员年龄信息披露法案的有效性
  15. 如何修改IDM下载器的临时文件夹位置
  16. 行列式的3种计算方法技巧和一点注意
  17. Nginx实现动静分离(Nginx图片服务器及404问题解决)
  18. 计算机组成与体系结构(软件设计师考试)
  19. 如何增加公众号阅读量和粉丝
  20. 博客从wordpress迁移到hexo

热门文章

  1. 手写输入法实现过程中的问题
  2. steam注册模拟注册
  3. 创建物理卷和物理卷组,逻辑卷,附加卷
  4. 联想电脑(小新 Air 14ARR)蓝牙突然断连+右下角蓝牙模块消失+无法打开蓝牙+设备管理器中无蓝牙驱动
  5. linux getevent命令,实用Linux命令集锦(一)
  6. Libvirt XML文件详解(一)
  7. 通信系统信号发生器原理
  8. 美国知名外遇社交网站AshleyMadison被黑
  9. 用Python白嫖微信读书,你想学吗?
  10. 为什么自制脚本语言是编程语言的最高境界?