windows phone中的数据绑定
2012-11-19 16:21
176 查看
前几天写了一个绑定数据的小demo
具体实现的内容是:
1、在系统正式启动时实例化5个数据对象
2、实现在页面上逐个操作显示数据
具体步骤如下:
1、新建一个项目,添加一个公共类person,其中含有人的属性(一依据个人要求写啦,像姓名、电话什么的)
2、在主页面的代码实现页面中实例化person类并初始化(直接new person,实例化了5个对象)
3、实现上一张,下一张的代码(我用的是if…else…实现的,但要指出,if…else…有点浪费的感觉,可以使用switch实现一样的代码)
4、在主页面中布局,使用画布控件,在画布控件中添加一个Image和几个TextBlock
5、添加实现翻页的按钮
6、绑定画布控件的数据(用的是this.canvas1.DataContext = 实例化的类名)
遇到的问题:
在页面上逐个操作显示数据,开始我想的是将当前画布的类具体化为一个string,将5个实例化的类名都存储到一个string数组中,
问题出现了1、将当前画布的类具体化为一个string,当前画布的类名是string不代表这就是一个string,用this.canvas1.DataContext读到的只是一个object类型的东西,我又实例化一个person类,将从canvas中读到的object赋值给新实例化的person然后读取名字,但是这个时候读到的仅仅是strinrg类型,虽然用的是if判断,且满足读取到的string与string数组中的string相等,用this.canvas1.DataContext=next时只是让canvas等于一个string而不是一个类,所以会出错
分析好就解决问题,既然用this.canvas1.DataContext读取到的只是object类型,为什么我不直接声明为object类型的数组呢?果然声明为object类型的数组就好用多了,直接将object类型的元素赋值给this.canvas1.DataContext就OK,
具体代码:
实现点击下一页时的代码
View Code
觉得不太理解的同学可以下载我的源码:http://download.csdn.net/detail/qinpei11/4806595
具体实现的内容是:
1、在系统正式启动时实例化5个数据对象
2、实现在页面上逐个操作显示数据
具体步骤如下:
1、新建一个项目,添加一个公共类person,其中含有人的属性(一依据个人要求写啦,像姓名、电话什么的)
2、在主页面的代码实现页面中实例化person类并初始化(直接new person,实例化了5个对象)
3、实现上一张,下一张的代码(我用的是if…else…实现的,但要指出,if…else…有点浪费的感觉,可以使用switch实现一样的代码)
4、在主页面中布局,使用画布控件,在画布控件中添加一个Image和几个TextBlock
5、添加实现翻页的按钮
6、绑定画布控件的数据(用的是this.canvas1.DataContext = 实例化的类名)
遇到的问题:
在页面上逐个操作显示数据,开始我想的是将当前画布的类具体化为一个string,将5个实例化的类名都存储到一个string数组中,
问题出现了1、将当前画布的类具体化为一个string,当前画布的类名是string不代表这就是一个string,用this.canvas1.DataContext读到的只是一个object类型的东西,我又实例化一个person类,将从canvas中读到的object赋值给新实例化的person然后读取名字,但是这个时候读到的仅仅是strinrg类型,虽然用的是if判断,且满足读取到的string与string数组中的string相等,用this.canvas1.DataContext=next时只是让canvas等于一个string而不是一个类,所以会出错
分析好就解决问题,既然用this.canvas1.DataContext读取到的只是object类型,为什么我不直接声明为object类型的数组呢?果然声明为object类型的数组就好用多了,直接将object类型的元素赋值给this.canvas1.DataContext就OK,
具体代码:
实现点击下一页时的代码
View Code
switch (now.ID) { case 1: this.canvas1.DataContext = person3; now.ID = now.ID + 2; break; case 2: this.canvas1.DataContext = person1; now.ID = now.ID -1; break; case 3: this.canvas1.DataContext = person2; now.ID = now.ID - 1; break; }
觉得不太理解的同学可以下载我的源码:http://download.csdn.net/detail/qinpei11/4806595
相关文章推荐
- Windows Phone 7 使用数据模板DataTemplate进行数据绑定【转】
- Windows Phone 8初学者开发—第14部分:在运行时绑定到真实的数据
- Windows phone开发数据绑定系列(1)--了解数据绑定
- WINDOWS PHONE 数据绑定笔记
- Windows Phone7天初学(4):数据绑定
- Windows Phone 7 MVVM模式数据绑定和传递参数
- windows phone:数据绑定(二)
- Windows Phone 7 数据绑定的简单介绍
- windows phone:数据绑定
- Windows Phone 7 数据绑定的简单介绍
- Windows Phone xml数据的解析与绑定
- Windows Phone 7 使用数据模板DataTemplate进行数据绑定
- Windows Phone 十、数据绑定
- Windows Phone 数据绑定
- Windows Phone 8初学者开发—第10部分:数据绑定应用程序和透视应用程序项目模板简介
- Windows Phone 7实现图片数据绑定
- Windows Phone 7 MVVM模式数据绑定和传递参数
- windows phone 之ListBox数据绑定
- Windows phone 7之数据绑定(Data Bindings)
- Windows Phone 7 MVVM模式数据绑定和传递参数