软件编程
位置:首页>> 软件编程>> C#编程>> C#中WPF ListView绑定数据的实例详解

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

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

标签:C#,ListView,绑定数据

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

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com