本文主要介绍C# WPF ListView控件实例详解的相关资料,希望通过本能帮助到大家,让大家掌握这部分内容,有需要的朋友可以参考一下。
C# WPF ListView控件的实例详解
作为微软的主流桌面开发平台,# C的WPF与过去的MFC时代相比有很多不同之处。刚从MFC平台转过来,以为可以轻松上手,却被很多问题迷惑了。我只好回去看了一本书,然后回到左边的学习之路。这里也推荐《深入浅出WPF》这本书,用起来很棒。
由于WPF的数据驱动UI的设计理念,许多控件与以前的平台不同。ListView控件具有代表性,这是进化的结果。关于这个控件的应用,很多人参考这篇博文。如果觉得我的账不清楚,可以咨询一下。
WPF的代码分为前端和后端。前端是UI,负责和用户交互。而后端负责算法和数据的执行。因为这个机制,我们程序员需要对两端有一个大概的了解,主要关注后端,这比之前的混合机制要好得多。
ListView控件的XAML代码编写如下:
ListView x:Name=' ListView ' Height=' 165 ' vertical alignment=' Top ' horizontal alignment=' Left ' Width=' 604 ' border thickness=' 0,0,0,1' BorderBrush='#FFC8CCD4 '
列表视图。视角
!-设置列标签并将列成员绑定到变量名,以便可以修改后台链接-
显示数据表格(一种控件)
GridView column Header=' name ' width=' 100 ' display member binding=' { binding path=name } '/
GridView column Header=' working years ' width=' 100 ' displaymemberbinding=' { binding path=working years } '/
GridView column Header=' work phone ' width=' 100 ' display member binding=' { binding path=work phone number } '/
GridView column Header=' mailbox ' width=' 100 ' display member binding=' { binding path=email } '/
/网格视图
/列表视图。视角
/列表视图
在代码中,我们设置了一个有四列的列表,包括姓名、工作年限、工作电话和电子邮件,并将每一项的成员绑定到一个变量名。只要写好这些代码,就可以看到界面上出现相应的列表,就可以编译运行了。前端工作也大致完成(定义控件的大致外观,给出绑定接口),具体的数据内容可以交给后端进行绑定。
接下来,让我们编写后端c#代码:
首先,定义一个类。这个类中的变量将对应于绑定到上面列表项的变量,因此当我们实例化一个对象时,它将对应于列表中的一行。
class info//个人信息类
{
私有string _ name
私人int _ workYears
private string _ workPhoneNumber
私有字符串_电子邮件;
公共字符串Email//get和set分别是只读和只写的,这是正常的绑定方式。电子邮件是我们想要绑定的一个属性。
{
获取{ return _ email}
set { _ email=value}
}
公共字符串工作电话号码
{
get { return _ workPhoneNumber}
set { _ workPhoneNumber=value}
}
公共int工作年
{
get { return _ workYears}
set { _ workYears=value}
}
公共字符串名称
{
获取{ return _ name}
set { _ name=value}
}
个人信息(字符串名称、工作年限、工作电话号码、电子邮件)//构造函数
{
_ name=name
_工作年=工作年;
_ work phone number=work phone number;
_ email=email
}
}
在定义了上面的类之后,我们使用名称空间系统。然后使用“ObervableCollection”或“动态数据集合类”来管理我们的类对象。
ObservableCollectionpersonalInfo personalInfoList=new ObservableCollectionpersonalInfo();
之后,向数据集添加类成员。
Personal Infolist.add(新增个人信息('李白',10,' 134124 ',' libai @ hotmail . com ');
个性化信息.添加(新的个人信息('杜甫,2,' 242354 ',' dufu @ hotmail。com’);
个性化信息.添加(新的个人信息('苏轼,4,' 345356 ','寿司@ hotmail。com’);
个性化信息.添加(新的个人信息('李清照,3,' 453546 ','李清照@ hotmail。com’);
最后,把数据和用户界面绑定在一起便大功告成了
列表视图ItemsSource=personalInfoList
上面的代码编译之后便能看到列表框和里面的数据,由于" ObervableCollection "在数据添加和删除的时候后发送消息给UI,所以我们在添加和删除一项数据的时候用户界面会做相应的修改。然而如果修改类里面的内容的时候则不行,因为修改的时候没有发送消息通知UI,所以我们还需要给"个人信息"类定义消息通知接口,让其数据发生改变的时候也给用户界面发送消息。该类修改如下(需要添加系统。组件模型命名空间):
类个人信息:INotifyPropertyChanged//个人信息类
{
私有字符串名称
私人int _工作年
private string _ workPhoneNumber
私有字符串_电子邮件;
公共事件PropertyChangedEventHandler属性已更改;
公共字符串电子邮件//获取和设置为只读和只写,体现C#l
{
获取{返回电子邮件}
设置
{
_ email=value
PropertyChanged(this,new PropertyChangedEventArgs(' Email '));
}
}
公共字符串工作电话号码
{
获取{ return _ workPhoneNumber}
设置
{
_工作电话号码=值
PropertyChanged(this,new PropertyChangedEventArgs('工作电话号码'));
}
}
公共(同Internationalorganizations)国际组织工作年
{
获取{ return _ workYears}
设置
{
_工作年=价值;
PropertyChanged(this,new PropertyChangedEventArgs('工作年限'));
}
}
公共字符串名称
{
获取{ return _ name}
设置
{
_ name=value
PropertyChanged(this,new PropertyChangedEventArgs(' Name '));
}
}
public personalInfo(string name,int workYears,string workPhoneNumber,string email)//构造函数
{
_ name=name
_工作年=工作年;
_工作电话号码=工作电话号码;
_ email=电子邮件
}
}
这样,我们便实现了列表视图控件的基本绑定、修改和显示功能了。
如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。