欢迎来到入门教程网!

C#教程

当前位置:主页 > 软件编程 > C#教程 >

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

来源:本站原创|时间:2020-01-10|栏目:C#教程|点击:

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了。

那么绑定就是这样了。

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

上一篇:C#中Socket与Unity相结合示例代码

栏    目:C#教程

下一篇:C#中可枚举类型详解

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

本文地址:https://www.xiuzhanwang.com/a1/C_jiaocheng/5451.html

网页制作CMS教程网络编程软件编程脚本语言数据库服务器

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:835971066 | 邮箱:835971066#qq.com(#换成@)

Copyright © 2002-2020 脚本教程网 版权所有