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

时间:2022-05-02 00:47:42

c#中wpf listview绑定数据的实例详解

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

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

那么怎样实现这样的效果的呢,这就要用绑定了。

我们先来看一看他的xmal代码

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<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=作为绑定源的类中的成员属性}

下面来看一下绑定的类

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
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;
    }
  }
}

现在我们可以看到我们刚才绑定的属性就在这个类中,那么该怎样应用呢

下面来看一下我的应用代码

?
1
private list<maillist> maillist;
?
1
maillist = new list<maillist>();

以上的代码是声明一个list来保存我们插入的数据的,由于我的源代码是从服务器中得到的邮件列表。

?
1
maillist.add(new maillist("xxxxxx", "xxxxxxxx", "xxxxxx", "xxxxxx")); 
?
1
receivelist.itemssource = maillist;

如果这样写那么那么上面的途中得到的就是xxxxxx了。

那么绑定就是这样了。

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

原文链接:http://blog.csdn.net/lovefenglinshi/article/details/24887783