最近在做一个Azure的项目,服务器端数据都存储在微软的云上,客户端有PC,智能手机,其中一部分是Windows Phone 7的客户端。
项目中大多数应用都用到了Panorama和Pivot两个控件,以下是其主要特性:
◆简单的XAML和编程接口
◆完全支持数据绑定、内容模板属性和项目容器样式
◆内置黑、白两种皮肤样式
◆内置触控导航,可以让用户快速滑动控件并定位到指定的项
◆在页面或内容项导航滑动时,提供漂亮的过渡动画
◆强大的可扩展性,用户可通过事件、可视化状态和重新定义模板的方式扩展功能。
◆Visual Studio 2010的原生支持
Panorama 控件与 Pivot 控件的不同之处在于 Pivot 控件显示多个不同页面,而 Panorama 控件将一个页面分成可以滾动的多个子页,像一个长的水平画面 (horizontal canvas),扩展了荧幕边緣。和 Pivot控件不同,Panorama 控件有一个扩充到所有子页的背景图片,看上去感觉就象一个很宽的荧幕。
Pivot 一般用于同一内容的不同展现形式,背景不随滑动而滑动,某种程度上可以说是Tab控件的替代品,而Panorama是一个所要展示的内容比较宽一屏展示不下时用,滑动时背景跟着滑动,
以下是Pivot效果
以下是Panorama效果:
MSDN文档:
Panorama 与 Pivot Both controls
•Items can be added in XAML
•Items can be added in code, Items.Add(new PivotItem(…)) or Items.Add(new PanoramaItem(…))
•ItemsSource can be used for data binding
•Do not support alternative types of items: Pivot controls must use PivotItem, Panorama must have PanoramaItem
Differences
•Panorama exposes a DefaultItem property
•SelectedIndex and SelectedItem are settable in Pivot but not in Panorama
另外,强烈建议大家用真机调试,比在模拟器上调试爽得多。模拟器占内存(我启动项目后,多用了700M内存),且启动慢。
部署在真机的时候,不要在屏幕锁定状态,否则就出现 “Failed to connect to device as it is pin locked” 的错误提示。