首页 > 编程 > C# > 正文

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

2020-01-24 00:27:29
字体:
来源:转载
供稿:网友

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

那么绑定就是这样了。

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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表