`
WPComming
  • 浏览: 57910 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

Windows Phone开发(14):数据模板

 
阅读更多

数据模板,如果你仅仅听到这个名词,你一定很迷惑,什么来的?用来干什么的?不急,亲,今天,我们一起来探索一下吧。
用白话文说,数据模板就是用来规范数据的显示方式的,关于模板,估计各位不陌生的,大家应该玩过PPT吧,都做过演示文稿吧,对啊,PPT里面有很多模板的,明白了吧?不明白?那你一定填过表吧,如果报考什么考试的,你肯定会被要求填一些什么报名表之类的,或者说,找过工用吗?是啊,做简历也有简历模板。模板的用法就像做填空题,有了部分规范的内容,然后你按照这个规范,在特定的位置填上恰当的内容,你总不能说把你的姓名填到“性别”那里去吧,这就不符合规范了。
好了,废话讲了不少,下面进入正题,你想想,哪些控件最有可能用到数据模板?哈,其实很多,只要是ContentControl的子类基本上都可以,如Button等,当然,这些控件一般没那必要,按钮嘛,多数情况下显示一些文本提示用户用来干什么的就可以了,顶多你放个图标在按钮上,估计也很少人把一段视频放在按钮上吧,呵呵,其实,在WP里面,这是可以的,但没有必要。
对的,一般列表形式的控件就最有可能使用到数据模板了,比如ListBox控件,如果你的列表控件只是让用户看信息的,而不需要额外操作,你完全可以考虑使用ListBox的“老爸”——ItemsControl。

好,下面我们用一个例子看看在不自定义数据模板的情况下,ItemsControl的列表项是如何显示的。
首先,当然是新建一个项目了,不用我介绍,相信各位都会。
你完全可以这样,把页面内的Grid根容器都删除,直接扔一个ItemsControl上面,就像这样。


然后,切换到代码页,把myItemControl的数据源设置为一个字符串数组。


好的,不要流口水啊,现在,你可以运行你的超级项目了。
你应该发现了,列表的每一项都是以文本的方式显示,其实,它内部默认就是一个TextBlock,就是用来显示文本的。
那么,如果我设置的数据源不是字符会怎么样呢?
好现在看第二个例子。
先做好布局,和刚才的例子一样。


接着我们定义一个商品类,包含三个属性:商品名称,单价,条码。
并把ItemsControl的数据源设置为商品类的集合。


运行一下,啊,你会大吃一惊,怎么显示这内容?
(图1)

前文说了,数据模板默认是TextBlock控件,只能显示文本,那么,当它遇到非文本数据时,就会尝试调用数据源中类型的ToString方法,所以刚才的示例才会显示出类名,这是从Object类继承过来的ToString方法,现在我们把Goods类改一下,重写它的ToString方法,看看结果是啥。


这时候你再运行一下,看到商品名称了吧?

然而,你会发现,好像还没有满足我们的需求,我们希望每一项中同时显示商品名,单价,条码值,那怎么办呢?是的,这时候,就真的要自定义数据模板了。

把上面的XAML改一下。


好了,现在就基本达到我们的要求了。
(图2)

分享到:
评论

相关推荐

    数据结构各种算法实现(c++模板)

    手机开发:WindowsMobile手机开发,J2ME手机开发;解决方案 : 消费类电子产品, 通信网络 ,计算机和外设,工业和工业控制, 电源和电源管理,汽车电子类 安防电子类以及其它类别的解决方案,ARM技术专栏;单片机;以及大量的...

    2021最新产品需求模板系列-餐饮管理系统需求分析.doc

    餐饮管理系统需求分析 ...通过对系统的需求分析、E-R 图、数据字典、接口要求、软件属性、支持信息及运行环境、参考资料、项目进度计划等方面的详细介绍,我们可以更好地理解餐饮管理系统的需求和开发过程。

    Google Android SDK开发范例大全(完整版)

    Android 开发可以在 Microsoft® Windows®、Mac OS X 或 Linux 上进行。 本文假设您使用的是 Eclipse IDE 和用于 Eclipse 的 Android Developer Tools 插件。Android 应用程序是用 Java 语言编写的,但是是在 ...

    WP7主从视图示例源码2012615

    Windows Phone7 中实现主从视图 在实际开发中,经常会使用到主从的显示,当选中一个父项,则子项的集合自动进行修改, 我们可以使用传统的SelectedIndexChanged修改去实现,但是通常情况下借助于...

    crossPlatformDevelopment

    使用Xamarin Forms在不同的移动操作系统(包括Android,iOS(正在开发)和Windows Phone(正在开发))中开发应用程序的一组示例。 ============== 指数: 你好,世界 符合Xamarin表格 MVVM模式(即将推出) ...

    RPGM:用于管理各种角色扮演相关任务的 Windows 手机(以后可能是桌面)应用程序。 这些包括记录笔记和字符表、掷骰子、创建地图和跟踪计划、HP 和其他状态

    这是组合 Windows Phone 和潜在的 Windows 桌面应用程序的开始,用于管理角色扮演游戏的各个方面,从 DM 和玩家的角度来看。 这些实用程序旨在与游戏无关,因此不应特定于一个或几个游戏,但功能可能会达到可以为...

    Python课程设计AI智能联系人管理系统(百度云识图+饼图+PyQt5)+课程设计文档

    AI智能联系人管理系统是一款基于Python3.7开发的桌面应用程序,使用PyQt5作为界面开发框架,结合pandas、Pillow、phone和pyecharts等第三方模块,实现名片识别、联系人信息的录入、编辑、搜索、删除以及联系人分布...

    YYjia安卓应用市场网站系统最新官方版

    支持Android、iPhone、iPad、Windows Phone、W8平板,是最简单、快速的应用市场建站程序。 4.实时应用评论 完美体验 自动搜索调用应用的所有评论,实时同步。更大的提升网站的用户体验及应用下载率! 5全自动更新 ...

    JAVA上百实例源码以及开源项目

    14个目标文件 内容索引:JAVA源码,系统相关,日历,日期选择  Java语言开发的简洁实用的日期选择控件,源码文件功能说明:  [DateChooser.java] Java 日期选择控件(主体类) [public]  [TablePanel.java] 日历表格...

    JAVA上百实例源码以及开源项目源代码

    Java日期选择控件完整源代码 14个目标文件 内容索引:JAVA源码,系统相关,日历,日期选择 Java语言开发的简洁实用的日期选择控件,源码文件功能说明: [DateChooser.java] Java 日期选择控件(主体类) [public] ...

    Android项目源码开源的 Material Design 豆瓣客户端.zip

    取名之后,我才得知豆瓣的 Windows Phone 客户端的名字也叫做“豆芽”。所以相对于豆瓣官方应用“一个叫‘豆瓣’的App”,也正好将这个应用称为“另一个叫豆芽的应用”了。 为什么要有豆芽? 直接访问豆瓣的所有人...

    2.ASP.NET.2.0.高级编程(第4版) [1/7]

    ● 使用新的Master页面特性创建模板化的ASP.NET页面 ● 调试和处理错误的技术 ● 提取、创建、处理和存储XML的各种框架 ● 打包和部署ASP.NET应用程序的方法 ● 快速、逻辑地检索、更新和删除数据 本书读者对象 ...

    ASP.NET2.0高级编程(第4版)1/6

    25.4.8 PhoneCall控件919 25.4.9 Link控件921 25.4.10 List控件922 25.4.11 ObjectList控件925 25.4.12 SelectionList控件926 25.5 使用验证控件930 25.6 在移动Web窗体之间导航932 25.7 移动Web用户控件932 25.8 ...

    YYjia安卓应用市场网站系统(YYjiacms) v2.1 正式版

    基于PHP+MYSQL开发的新型手机应用商店系统,支持Android、iPhone、iPad、Windows Phone、W8平板多平台应用,兼容性好,简单易用,适于SEO。程序与模板文件分开,大家可以很方便地建立自己的模板。 三位一体,多渠道展示 ...

Global site tag (gtag.js) - Google Analytics