C#中WPF ListView绑定数据的实例详解
作者:晨曦888 发布时间:2023-03-11 12:08:41
标签:C#,ListView,绑定数据
C#中WPF ListView绑定数据的实例详解
WPF中ListView用来显示数据十分方便, 我们可以将它分成几个列,每一个列用来显示一条数据,但是又是在一方之中。
那么怎样实现这样的效果的呢,这就要用绑定了。
我们先来看一看他的xmal代码
<ListView Name="receiveList" Grid.Row="0">
<ListView.View>
<GridView>
<GridView.Columns>
<GridViewColumn Header="发件人"
Width="200"
DisplayMemberBinding="{Binding Path=Senderuser}" />
<GridViewColumn Header="主题"
Width="350"
DisplayMemberBinding="{Binding Path=Topic}" />
<GridViewColumn Header="附件" DisplayMemberBinding="{Binding Path=Ffile}"
Width="200" />
<GridViewColumn Header="时间" Width="150" DisplayMemberBinding="{Binding Path=Time}"/>
</GridView.Columns>
</GridView>
</ListView.View>
</ListView>
上面的代码中每一个GridViewColumn都有一个绑定{Bind Path=作为绑定源的类中的成员属性}
下面来看一下绑定的类
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace EmailClient
{
class MailList : INotifyPropertyChanged
{
public string senduser;
public string topic;
public string file;
public string time;
public event PropertyChangedEventHandler PropertyChanged;
public string Senderuser
{
get
{
return senduser;
}
set
{
senduser = value;
if (this.PropertyChanged != null)//激发事件,参数为Age属性
{
this.PropertyChanged.Invoke(this, new PropertyChangedEventArgs("Age"));
}
}
}
public string Topic
{
get
{
return topic;
}
set
{
topic = value;
if (this.PropertyChanged != null)//激发事件,参数为Age属性
{
this.PropertyChanged.Invoke(this, new PropertyChangedEventArgs("Age"));
}
}
}
public string Ffile
{
get
{
return file;
}
set
{
file = value;
if (this.PropertyChanged != null)//激发事件,参数为Age属性
{
this.PropertyChanged.Invoke(this, new PropertyChangedEventArgs("Age"));
}
}
}
public string Time
{
get
{
return time;
}
set
{
time = value;
if (this.PropertyChanged != null)//激发事件,参数为Age属性
{
this.PropertyChanged.Invoke(this, new PropertyChangedEventArgs("Age"));
}
}
}
public MailList() { }
public MailList(string senduser,string topic,string file,string time)
{
this.senduser = senduser;
this.topic = topic;
this.file = file;
this.time = time;
}
}
}
现在我们可以看到我们刚才绑定的属性就在这个类中,那么该怎样应用呢
下面来看一下我的应用代码
private List<MailList> maillist;
maillist = new List<MailList>();
以上的代码是声明一个list来保存我们插入的数据的,由于我的源代码是从服务器中得到的邮件列表。
maillist.Add(new MailList("xxxxxx", "xxxxxxxx", "xxxxxx", "xxxxxx"));
receiveList.ItemsSource = maillist;
如果这样写那么那么上面的途中得到的就是xxxxxx了。
那么绑定就是这样了。
如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
来源:http://blog.csdn.net/lovefenglinshi/article/details/24887783


猜你喜欢
- 前言 前一段时间得闲的时候优化了一下我之前的轮子[DotNetCoreRpc]小框架,其中主要
- 前几天的一个晚上突然想到微信红包应该有一个随机算法,就自己试着写了下,也不知道对不对,看了看网上的说法,好像到现在为止官方也没有给出一个确切
- 今天和大家聊一聊Android中关于FontMetrics的几个属性的理解,在Android中用画笔绘制文字时,文字最终的大小是和绘制文字的
- 上了这么多年学,我发现一个问题,好象老师都很喜欢点名,甚至点名都成了某些老师的嗜好,一日不点名,就饭吃不香,觉睡不好似的,我就觉得很奇怪,你
- jar文件包括java普通类、资源文件和普通文件,在maven中即是打包src/main/java和src/main/resources资源
- Java7中文件IO发生了很大的变化,专门引入了很多新的类:import java.nio.file.DirectoryStream;imp
- Idea2020.2创建JavaWeb的方式略有改动,以下做个记录,大家可以参考下,对以后的工作有所帮助!1.创建项目不再是Java Ent
- Java类成员变量的默认值基本数据类型作为类的成员变量时可以不赋予初值,在方法中输出也不会报错。下面我们看看我们的八种数据类型的默认值是什么
- 要实现关机后数据也不会丢失,需要使用到 AndroidViewModel,SaveStateHandle 和 SharePreference
- 这篇文章主要介绍了如何实现java Iterator迭代器功能,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,
- maven导入依赖<dependencies> <dependency> &
- springboot sqlSessionFactoryBean自定义1.新建一个配置类,加上configuration注解2.定制化Sql
- 前言记一次为了节省代码没有在方法体中声明HttpServletRequest,而用autowire直接注入所钻的坑结论:给心急的人。 直接在
- mybatis3中增加了使用注解来配置Mapper的新特性,本篇文章主要介绍其中几个@Provider的使用方式,他们是:@SelectPr
- Android 吸入动画效果详解 . 这里,我要介绍的是如何在Android上面实现一个类似的效果。先看看我实现的效果图。 &n
- 目录闲言碎语:背景Actuator介绍Rest方法来查看Actuatorpom.xml引入Actuator依赖配置application.y
- 数组数组时相同类型数据的有序集合数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成其中,每一个数据称作一个数组元素,每一个数组
- 什么是事务处理事务是计算机应用中不可或缺的组件模型,它保证了用户操作的原子性 ( Atomicity )、一致性 ( Consistency
- 一,项目简介项目编号:BS-SC-029本系统主要为种值水果和农户和水果经销商搭建一个B2B的电子商务平台,系统共包含三个角色:农户、经销商
- 原网页:JavaGuideJVM在执行Java程序过程中会把它管理的内存划分成若干个不同的数据区域。JDK1.8和之前的版本略有不同,下面会