C#中WPF 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了。

那么绑定就是这样了。

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

时间: 2017-10-02

C#获取ListView鼠标下的Item实例

ListView在虚模式下,CheckBox无法点击,可以用此方法实现 private void lvwTitle_MouseDown(object sender, MouseEventArgs e) { Point curPos = this.lvwTitle.PointToClient(Control.MousePosition); ListViewItem lvwItem = this.lvwTitle.GetItemAt(curPos.X, curPos.Y); if (lvwItem

C# Winform 禁止用户调整ListView的列宽

复制代码 代码如下: // 事件: 改变列宽的时候 private void ColumnWidthChange(object sender, ColumnWidthChangingEventArgs e) { // 如果调整的不是第一列,就不管了 if (e.ColumnIndex > 0) return; // 取消掉正在调整的事件 e.Cancel = true; // 把新宽度恢复到之前的宽度 e.NewWidth = this.lvStudents.Columns[e.ColumnIn

C#使用listView增删操作实例

本文实例讲述了C#使用listView增删操作的方法.分享给大家供大家参考.具体分析如下: 应用场景: C#中使用listView控件,实现动态添加,选中删除等操作. 实例代码: 复制代码 代码如下: private void addButton_Click(object sender, EventArgs e) {     string item1Str = coutNumber.ToString();//第一列文本     string item2Str = coutNumber.ToStr

c#数据绑定之将datatabel的data添加listView

功能:通过响应UI Textbox 的值向ListView 绑定新添加的纪录. UI XAML 代码 复制代码 代码如下: <Grid Margin="5">            <Grid.ColumnDefinitions>                <ColumnDefinition Width="Auto"/>                <ColumnDefinition/>            &

C#实现带进度条的ListView

推荐阅读:ListView 百分比进度条(delphi版) 对于已经有的组件,可以直接添加进来,添加后要先运行一下,然后会在工具箱内找到相应控件. 1.首先编写组件,然后将组件添加到工具箱内 编写代码如下: public partial class ListViewEx : System.Windows.Forms.ListView { public ListViewEx() { InitializeComponent(); } //C# listview进度条显示 private Color

C#下listview如何插入图片

如何在listview中插入图片,相信大家很想知道,下面就为大家分享具体步骤: 第一步:在窗体中拖入ListView控件和imageList控件: 第二步:设置imageList控件的Images属性,添加你想要的图片: 第三步:设置ListView控件的SmallImageList.LargeImageList.StateImageList属性为imageList: 第四步:编辑ListView控件项的ImageIndex行为你就会发现图片成功显示出来了! 附:在ListView控件中添加选项

C#实现在listview中插入图片实例代码

C#实现在listview中插入图片实例代码 第一步:在窗体中拖入ListView控件和imageList控件: 第二步:设置imageList控件的Images属性,添加你想要的图片: 第三步:设置ListView控件的SmallImageList.LargeImageList.StateImageList属性为imageList: 第四步:编辑ListView控件项的ImageIndex行为你就会发现图片成功显示出来了! 附:在ListView控件中添加选项的代码 private void

CKEditor/FCKEditor 使用 CKeditor 3.0.1 快速使用教程(含插入图片)

因为直接把内容作为字符串给编辑器的 Value 属性赋值使用的是 JavaScript 代码,要让 JS 代码不受内容中双引号.换行等的干扰,只有先读入到 textarea 最方便. 使用 CKeditor 3.0.1 复制代码 代码如下: <textarea cols="90" rows="10" id="content" name="content">cftea</textarea> <scr

datatable生成excel和excel插入图片示例详解

Excel知识点 一.添加引用和命名空间 添加Microsoft.Office.Interop.Excel引用,它的默认路径是C:\Program Files\Microsoft Visual Studio 9.0\Visual Studio Tools for Office\PIA\Office12\Microsoft.Office.Interop.Excel.dll 代码中添加引用using Microsoft.Office.Interop.Excel; 二.Excel类的简单介绍 此命名空

C#中创建PDF网格并插入图片的方法

这篇文章我将向大家演示如何以编程的方式在PDF文档中创建一个网格,并将图片插入特定的网格中. 网上有一些类似的解决方法,在这里我选择了一个免费版的PDF组件.安装控件后,创建新项目,添加安装目录下的dll文件作为项目的引用以及命名空间,如下: using Spire.Pdf; using Spire.Pdf.Graphics; using Spire.Pdf.Grid; 接下来是详细步骤及代码片段: 步骤1: 首先创建一个PDF文档,并添加一个新页面. PdfDocument doc = new

Android ListView实现ImageLoader图片加载的方法

本文实例讲述了Android ListView实现ImageLoader图片加载的方法.分享给大家供大家参考,具体如下: 最近一直忙着做项目,今天也是忙里偷闲,想写篇博客来巩固下之前在应用中所用的知识.之前我们可能会也会肯定遇到了图片的异步加载问题,然而我们也可能会遇到图片二次或多次加载,这是ListView的特性造成的,具体原因不在这里讨论,又或者是OOM等问题.今天要讲的是一个开源框架Imageloader,个人觉得非常的好用. 该框架在github的地址.https://github.co

Windows中使用Java生成Excel文件并插入图片的方法

生成简单的Excel文件  在现实的办公中,我们常常会有这样一个要求:要求把报表直接用excel打开.在实习中有这样一个需求.根据所选择的资源查询用户所提供附件的全部信息并生成excel供下载.但是在查询的时候我们需要来检测用户所提供的附件里面的信息是否有错误(身份证).有错误的生成错误信息excel.      Apache的POI项目,是目前比较成熟的HSSF接口,用来处理Excel对象.其实POI不仅仅只能处理excel,它还可以处理word.PowerPoint.Visio.甚至Outl

Java 替换word文档文字并指定位置插入图片

先说下 需要的依赖包 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-excelant</artifactId> <version>3.12</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <arti

MVVM模式下WPF动态绑定展示图片

MVVM模式下WPF动态展示图片,界面选择图标,复制到项目中固定目录下面,保存到数据库的是相对路径,再次读取的时候是根据数据库的相对路径去获取项目中绝对路径的图片展示. 首先在ViewModel中 //属性定义 BitmapImage _ImageSource; /// <summary> /// 显示的图标 /// </summary> public BitmapImage ImageSource { get { return _ImageSource; } set { _Ima

C#向PPT文档插入图片以及导出图片的实例

PowerPoint演示文稿是我们日常工作中常用的办公软件之一,而图片则是PowerPoint文档的重要组成部分,那么如何向幻灯片插入图片以及导出图片呢?本文我将给大家分享如何使用一个免费版PowerPoint组件-Free Spire.Presentation,以C#/VB.NET编程的方式来快速地实现这两个功能.我们可以从官网下载Free Spire.Presentation,创建项目后添加此DLL作为引用. 插入图片 向PPT文档插入图片时,这里我选择插入两张图片到不同的两张幻灯片中. 具