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

作者:晨曦888 时间:2023-03-11 12:08:41 

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

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

C#中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

标签:C#,ListView,绑定数据
0
投稿

猜你喜欢

  • Java 使用getClass().getResourceAsStream()方法获取资源

    2023-07-23 08:59:56
  • Android录制按钮源码解析

    2022-06-24 19:24:44
  • 老生常谈Java 网络编程 —— Socket 详解

    2023-07-12 16:32:54
  • 非常适合新手学生的Java线程池超详细分析

    2023-03-03 11:59:54
  • Mybatis实现增删改查

    2022-05-26 22:00:20
  • java实现五子棋程序

    2022-01-29 10:40:38
  • Spring @Async无法实现异步的解决方案

    2021-10-22 13:32:46
  • 详解Java如何判断ResultSet结果集是否为空

    2023-08-22 10:51:14
  • C#中的问号(?号)用法小结

    2023-12-26 08:03:25
  • Android软键盘挡住输入框的终极解决方案

    2022-04-30 01:16:47
  • android 仿微信demo——注册功能实现(服务端)

    2023-10-30 09:58:23
  • Java Servlet简单实例分享(文件上传下载demo)

    2022-03-03 06:35:04
  • Android实现多线程下载图片的方法

    2021-10-16 08:37:43
  • Java利用数组随机抽取幸运观众如何实现

    2022-03-20 11:51:02
  • opencv实现读取视频保存视频

    2021-08-16 15:57:50
  • 带你了解Java数据结构和算法之队列

    2022-07-03 12:45:34
  • Springboot启动后执行方法小结

    2022-09-26 22:12:02
  • MyBatis if test 判断字符串相等不生效问题

    2021-10-11 22:42:01
  • 详解Android中Notification的使用方法

    2023-02-07 13:17:39
  • C#中Razor模板引擎简单使用

    2022-01-21 10:04:13
  • asp之家 软件编程 m.aspxhome.com