快速构建Windows 8风格应用6-GridView数据控件

简介: 原文:快速构建Windows 8风格应用6-GridView数据控件本篇博文主要介绍什么是GridView数据控件、如何构建常用的GridView数据呈现样式。   什么是GridView数据控件? GridView控件用来显示数据集合。
原文: 快速构建Windows 8风格应用6-GridView数据控件

本篇博文主要介绍什么是GridView数据控件、如何构建常用的GridView数据呈现样式。

 

什么是GridView数据控件?

GridView控件用来显示数据集合。它继承自ItemsControl。通常使用GridView控件来横向显示数据,并且显示的数据通常是排序过的。另外我们一般开发水平视图时,通常使用GridView显示数据集合。 

GridView数据控件包含的重要属性和事件:

1)  IsItemClickEnabled属性:获取或设置点击列表项是否会触发Click事件;

2)  SelectionMode属性:获取或设置选择的模式;

3)  HeaderTemplate属性:获取或设置列表标题的模版,改变标题的外观;

4)  GroupStyle属性:获取GroupStyle对象集合,定义每组的外观;

5)  ItemsPanel属性:获取或设置放置内容的面板(通常用来改变GridView的呈现数据的方向);

6)  SelectionChanged事件:当选择的项改变时触发;

7)  ItemClick事件:当点击列表项,且IsItemClickEnabled属性值为true时将触发该事件;

 

如何构建常用的GridView数据呈现样式?

样式1 

样式1只是将数据全部呈现出来,并没有其他任何的用户操作,那么我们该如何构建这种样式的GridView呢?

XAML代码中声明GridView控件,并设置GridView控件的SelectionMode属性值为None,ItemTemplate属性引用名字为StoreFrontTileTemplate的静态资源。具体代码如下:

StoreFrontTileTemplate的静态资源具体代码如下: 

C#代码中将数据绑定到GridView控件上。具体代码如下: 

 

样式2 

样式2中选择列表中某一项,左上角显示我们选中了哪一项的信息,那么我们该如何构建这种样式的GridView呢?

XAML代码中声明GridView控件,并设置GridView控件的IsItemClickEnabled属性值为true(点击某一项时触发ItemClick事件),注册ItemClick事件。具体代码如下:

C#代码中将数据绑定到GridView控件上,具体代码如下: 

ItemClick事件代码如下: 

 

样式3 

样式3种将数据进行了分组呈现,其中组与组之间是水平方向呈现,组中数据项是竖直方向呈现,那么我们该如何构建这种样式的GridView呢?

XAML代码中声明GridView数据控件,并设置ItemsSource属性绑定为名称为cvs1的CollectionViewSource上,同时设置ItemsPanel,ItemTemplate和GroupStyle属性。具体代码如下: 

设置GridView的ItemsPanel属性,来控制数据显示的方向,具体代码如下: 

设置GridView的ItemTemplate属性,来控制显示数据的样式等,具体代码如下: 

设置GridView的GroupStyle属性,来控制显示数据组的样式,同时也可以控制组中数据项显示的方向,具体代码如下:

C#代码中将数据绑定到名称为cvs1的CollectionViewSource上,具体代码如下: 

 

最后我们也可设置GridView控件的Header属性来呈现不同的样式效果,例如:

呈现的效果可以为: 

目录
相关文章
|
22天前
|
计算机视觉 Windows Python
windows下使用python + opencv读取含有中文路径的图片 和 把图片数据保存到含有中文的路径下
在Windows系统中,直接使用`cv2.imread()`和`cv2.imwrite()`处理含中文路径的图像文件时会遇到问题。读取时会返回空数据,保存时则无法正确保存至目标目录。为解决这些问题,可以使用`cv2.imdecode()`结合`np.fromfile()`来读取图像,并使用`cv2.imencode()`结合`tofile()`方法来保存图像至含中文的路径。这种方法有效避免了路径编码问题,确保图像处理流程顺畅进行。
119 1
|
23天前
|
Unix Linux Ruby
在windows和linux上高效快捷地发布Dash应用
在windows和linux上高效快捷地发布Dash应用
|
19天前
|
vr&ar C# 图形学
WPF与AR/VR的激情碰撞:解锁Windows Presentation Foundation应用新维度,探索增强现实与虚拟现实技术在现代UI设计中的无限可能与实战应用详解
【8月更文挑战第31天】增强现实(AR)与虚拟现实(VR)技术正迅速改变生活和工作方式,在游戏、教育及工业等领域展现出广泛应用前景。本文探讨如何在Windows Presentation Foundation(WPF)环境中实现AR/VR功能,通过具体示例代码展示整合过程。尽管WPF本身不直接支持AR/VR,但借助第三方库如Unity、Vuforia或OpenVR,可实现沉浸式体验。例如,通过Unity和Vuforia在WPF中创建AR应用,或利用OpenVR在WPF中集成VR功能,从而提升用户体验并拓展应用功能边界。
31 0
|
19天前
|
存储 开发者 C#
WPF与邮件发送:教你如何在Windows Presentation Foundation应用中无缝集成电子邮件功能——从界面设计到代码实现,全面解析邮件发送的每一个细节密武器!
【8月更文挑战第31天】本文探讨了如何在Windows Presentation Foundation(WPF)应用中集成电子邮件发送功能,详细介绍了从创建WPF项目到设计用户界面的全过程,并通过具体示例代码展示了如何使用`System.Net.Mail`命名空间中的`SmtpClient`和`MailMessage`类来实现邮件发送逻辑。文章还强调了安全性和错误处理的重要性,提供了实用的异常捕获代码片段,旨在帮助WPF开发者更好地掌握邮件发送技术,提升应用程序的功能性与用户体验。
22 0
|
19天前
|
C# Windows 监控
WPF应用跨界成长秘籍:深度揭秘如何与Windows服务完美交互,扩展功能无界限!
【8月更文挑战第31天】WPF(Windows Presentation Foundation)是 .NET 框架下的图形界面技术,具有丰富的界面设计和灵活的客户端功能。在某些场景下,WPF 应用需与 Windows 服务交互以实现后台任务处理、系统监控等功能。本文探讨了两者交互的方法,并通过示例代码展示了如何扩展 WPF 应用的功能。首先介绍了 Windows 服务的基础知识,然后阐述了创建 Windows 服务、设计通信接口及 WPF 客户端调用服务的具体步骤。通过合理的交互设计,WPF 应用可获得更强的后台处理能力和系统级操作权限,提升应用的整体性能。
42 0
|
Windows
Windows 8.1 新增控件之 Flyout
原文:Windows 8.1 新增控件之 Flyout 本篇为大家介绍Flyout 控件,Flyout 属于一种轻量级交互控件,可以支持信息提示或用户交互。与传统Dialog 控件不同的是Flyout 控件可通过直接点击对话框外部区域忽略。
705 0
|
16天前
|
网络安全 虚拟化 Windows
windows 11安装openSSH server 遇到的"kex_exchange_identification: read: Connection reset"问题
windows 11安装openSSH server 遇到的"kex_exchange_identification: read: Connection reset"问题
|
26天前
|
PHP Windows
【Azure App Service for Windows】 PHP应用出现500 : The page cannot be displayed because an internal server error has occurred. 错误
【Azure App Service for Windows】 PHP应用出现500 : The page cannot be displayed because an internal server error has occurred. 错误
|
1月前
|
开发框架 .NET API
Windows Server 2022 安装IIS 报错 访问临时文件夹 C:\WINDOWS\TEMP\3C 读取/写入权限 错误: 0x80070005
Windows Server 2022 安装IIS 报错 访问临时文件夹 C:\WINDOWS\TEMP\3C 读取/写入权限 错误: 0x80070005
69 0