首页 技术 正文
技术 2022年11月18日
0 收藏 744 点赞 4,622 浏览 2606 个字

ListView控件

ListView控件的常用方式是与后台数据进行绑定,并将所绑定的数据内容与前端界面布局相结合,按照特定的顺序将数据集合以列表形式展示在界面当中,如电子邮件列表或搜索结果列表等。

在XAML文件中,ListView控件的用法如下所示:

<ListView…/>

-或-

<ListView…>

<!–添加一个或多个组件–>

</ListView>

下面介绍一下ListView控件的常用属性:

  • Header属性,获取或设置ListView控件的标题内容。
  • Items属性,获取ListView控件中列表项的集合。
  • ItemTemplate属性,获取或设置数据模版用于显示每个列表项。
  • IsItemClickEnabled属性,获取或设置在列表中的列表项是否能够响应ItemClick事件。如果属性值为True,表示能够响应ItemClick事件,如果属性值为False则不能响应ItemClick事件。
  • SelectedItem属性,获取或设置列表中的选中项。
  • ItemsSource属性,用于为ListView控件提供绑定数据源。

介绍完常用属性后,接着来看一下ListView控件的常用事件:

  • ItemClick事件,当IsItemClickEnabled属性为True时,单击列表中的列表项时会触发ItemClick事件。
  • SelectionChanged事件,当前列表中的选中项发生改变时触发。SelectionChanged事件与ItemClick事件不能同时被触发。

接下来使用ListView控件设计一个显示人员信息的列表,其中包括姓名,年龄和身高属性,用于演示ListView控件的用法。

新建一个名为”ListViewDemo”的Windows应用商店的空白应用程序项目,在MainPage.xaml文件的Grid元素中添加如下代码。

<ListView Header=” 姓名
年龄
身高” FontSize=”25″ Name=”PersonalInformation” HorizontalAlignment=”Left” Margin=”194,85,0,0″ VerticalAlignment=”Top” Width=”500″ Height=”500″>

<ListView.ItemTemplate>

<DataTemplate>

<StackPanel Orientation=”Horizontal”>

<TextBlock FontSize=”20″ Text=”{Binding Name}” Width=”60″ Margin=”15,0,15,0″/>

<TextBlock FontSize=”20″ Text=”{Binding Age}” Width=”40″ Margin=”15,0,15,0″/>

<TextBlock FontSize=”20″ Text=”{Binding Height}” Width=”40″ Margin=”15,0,15,10″/>

</StackPanel>

</DataTemplate>

</ListView.ItemTemplate>

</ListView>

在上面的代码中添加了一个ListView控件,设置其Header属性值为”姓名 年龄 身高”,用于显示列表的标题。在ListView控件内使用ListView.ItemTemplate元素创建列表项模板,并在此元素内添加DataTemplate元素用于定义数据模板的样式,在DataTemplate元素中添加一个StackPanel元素,并设置其Orientation属性值为Horizontal,表示对其中的子元素采用水平布局,在StackPanel元素中添加用于显示姓名、年龄及身高的三个TextBlock文本块。设置三个文本块的Text属性分别绑定数据源的Name、Age和Height属性,关于数据绑定的相关知识将会在第6章详细讲解。

为了描述应用中用到的人员信息,首先在MainPage.xaml.cs文件的ListViewDemo命名空间下定义一个数据类Person,并为其定义Name、Age和Height三个数据属性,用于存放和获取人员信息,代码如下所示:

public class Person

{

//添加Name、Age和Height属性

public string Name { get; set; }

public string Age { get; set; }

public string Height { get; set; }

}

接下来在MainPage.xaml.cs文件的MainPage构造方法中,定义并初始化要显示的数据源列表,然后将其与前台定义的ListView控件建立绑定,代码如下所示:

public MainPage()

{

this.InitializeComponent();

List<Person> listItems = new List<Person>(){

new Person() { Name = “杰克”, Age= “22”, Height= “170” },

new Person() { Name = “迈克”, Age= “22”, Height= “165” },

new Person() { Name = “大卫”, Age= “22”, Height= “175” }

};

PersonalInformation.ItemsSource = listItems;

}

在上面的代码中,实例化了一个List<Person>类型的对象listItems,并向listItems对象中添加三个包含人员信息的Person类对象,然后将listItems对象赋值给PersonalInformation的ItemsSource属性,这样就将人员信息添加到了ListView控件中,并在界面中显示出来。

运行程序,在界面中将显示一个人员信息列表,并在其中使用姓名、年龄和身高对数据进行排列,列表中所显示的数据正是前面讲到在后台代码中定义的三条人员信息数据。效果如图4-34所示。

Win10系列:C#应用控件基础21

图4-34 使用ListView控件绑定数据源

除此之外,在Windows应用商店应用的常用控件中还提供了GridView控件,但由于GridView控件和ListView控件在功能上非常相似,所以在本节中将不对GridView控件进行介绍,有兴趣的读者可以自学GridView控件的使用方法,并对比GridView和ListView两者之间的差异。

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,076
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,552
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,400
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,176
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,812
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,894