首页 > 代码库 > Peoject Siena - 创建Win8应用实例
Peoject Siena - 创建Win8应用实例
开启Project Siena程序,创建新的App应用,将主窗体(场景)命名ScreenMain,保存项目为MyAddress。
分别创建ScreenAddress、ScreenAddress和ScreenReport三个场景,用于浏览RSS,添加新的通讯录以及好友分类统计,ScreenMain则是查看所有好友信息的场景。
在ScreenMain场景添加3个形状控件(Circle),分别在OnSelect属性上配置导航Navigation,跳转至其它3个场景。
Navigate(ScreenReport, ScreenTransition!Fade)Navigate(ScreenRss, ScreenTransition!Fade)Navigate(ScreenAddress, ScreenTransition!Fade)
在ScreenAddress、ScreenReport和ScreenRSS场景中,添加形状(Back Arrow)用于在OnSelect属性上导航(Navigation)到主场景ScreenMain。
Navigate(ScreenMain, ScreenTransition!Fade)
关于ScreenRss,首先,获取RSS地址:http://feed.cnblogs.com/blog/u/144942/rss
在Siena项目中,使用ALT+D进入数据管理,添加RSS数据,导入地址即可
在ScreenRss中,添加Gallery(垂直文本模板),将控件Items属性指向RSS_1,接着,在Gallery模板中,自定义Label标签,绑定标题和内容等属性。
创建Gallery控件并摆放布局
配置Gallery数据源Items属性,并配置模板中各个控件的绑定属性,注意将正文区域显示改成HTMLLabel,可以格式化显式文章内容。
在创建ScreenAddress之前,首先创建Excel文件,保存联系人分类:
接着,使用菜单套用表格式,为选中内容套用一个表格式
最后,为表起名AddressType
关于ScreenAddress场景,用于添加新的联系人,分别添加场景布局如下:
首先,为DropdownList(好友类型)绑定数据源,添加Excel数据,指向刚才创建的好友类型即可。
接着,为Input(输入框添加HintText:提示信息)
将Audio(音频预览)的Media属性,绑定到麦克风的Audio属性(MicrophoneItem!Audio)
将Camera(摄像头)的Contrast属性绑定到Slider(滑动条)的Value属性(SliderContrast!Value)
将Image(图片预览)的Image属性绑定到Camera的Photo属性(CameraItem!Photo)
添加按钮(Button)用于保存内容到集合,在Disabled属性上配置函数(判断用户名和联系方式必须填写):
IsBlank(TextName!Text) || IsBlank(TextPhoneNumber!Text)
在按钮OnSelect属性上配置函数,添加联系人到集合:
If(CountIf(Items,TextName!Text in Name)=0,Collect(Items,{Name:TextName!Text,PhoneNumber:TextPhoneNumber!Text,Type:DropdownAddressType!Selected!联系人类别,Audio:MicrophoneItem!Audio,Video:CameraItem!Photo,Pic:PenItem!Image}))
在Pen(画笔)控件右下角添加按钮Clear,并配置Pen(画笔的)Clear属性,用于清除画笔内容:
ButtonClear!Pressed
最后页面布局如下
关于ScreenMain场景,主要用于查询和显示所有联系人,并实现删除联系人的功能,布局如下
绑定Gallery控件Items属性,通过文本框过滤
Filter(Items,TextSearchName!Text in Name)
在Image控件上绑定选中项的Pic属性:
GalleryItem!Selected!Pic
再删除按钮上的OnSelect属性编写函数,删除当前元素
Remove(Items,ThisItem)
在页面添加导入(Import Data)和导出(Export Data)控件
在导出控件中,配置导出的属性Items,
在导入控件中,配置OnSelect属性,导入成功后,重置Items集合
Clear(Items);Collect(Items,ImportData!Data)
在Report场景中,添加Pie Chart(饼图),绑定自定义集合ReportItems:
Clear(ReportItems);Collect(ReportItems,{X:"家人",Y:CountIf(Items,Type in "家人")},{X:"朋友",Y:CountIf(Items,Type in "朋友")},{X:"同事",Y:CountIf(Items,Type in "同事")},{X:"其它",Y:CountIf(Items,Type in "其它")})
将PieChart数据源绑定到ReportItems上
添加Label标签,Text属性绑定到选中项X标签,先是选中类别
PieChartReport!Selected!X
添加ListBox控件,数据源绑定到
Filter(Items,Type in LabelAddressType!Text)
效果如下
添加Label标签,Text属性绑定到ListBox选中项的PhoneNumber上
ListboxUsers!SelectedItems!PhoneNumber
最后效果如下
Peoject Siena - 创建Win8应用实例