More Related Content Similar to 03 wp7 application bar Similar to 03 wp7 application bar (8) 03 wp7 application bar3. about anytao| Ethos <ethos:Member id = “Wang Tao” msn = anytao@live.com weibo = http://weibo.com/anytao runat = “Senior System Architect” /> Jason | Ethos <ethos:Member id = “Li Jingnan” msn = zengnami@hotmail.com weibo= http://weibo.com/jn1981 runat = “SE” /> 6. session outline application bar navigation overview frame & page application bar overview page navigation methods query string goback 8. frame & page PhoneApplicationFrame Top Container: PhoneApplicationFrame Including: Page control System Tray Application Bar PhoneApplicationPage Fill content of Frame Page inherit from PhoneApplicationPage Including: Title Application Bar 8 9. ApplicationBar use ApplicationBar instead of creating you own menu system ApplicationBarIconButton up to 4buttons don’t fill all 4 slots if not need size: 48×48 ApplicationBarMenuItem up to 5 menus avoid long text 9 13. page navigation 13 Silverlight on Windows Phone Similar like web page Navigate by URI Stateless private void hyperlinkButton1_Click (object sender, RoutedEventArgs e) { NavigationService.Navigate( new Uri("/SecondPage.xaml", UriKind.RelativeOrAbsolute)); } 15. query string send query string private void passParam_Click(object sender, RoutedEventArgs e) { NavigationService.Navigate(new Uri("/SecondPage.xaml?msg=" + textBox1.Text, UriKind.Relative)); } get query string protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e) { base.OnNavigatedTo(e); string msg = string.Empty; if (NavigationContext.QueryString.TryGetValue("msg", out msg)) textBlock1.Text = msg; } 15 16. go back private void button1_Click (object sender, RoutedEventArgs e) { NavigationService.GoBack(); } 16 18. demo 18 / app bar / app bar menu / landscape / navigation service 02 application bar Editor's Notes 所有应用程序必须要有一个根Phone Frame可以从它继承自定义 在创建之前一定要先在Reference里加入Microsoft.Phone.shell,并且在xaml页面加上xmlns:shell=”clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone.Shell”.菜单栏设计最佳实践在设计菜单栏时要考虑的有以下几点:* 利用系统提供的菜单栏而非自己创建的菜单系统。这样能够使设备上所有应用程序保持统一的用户体验。而且系统提供的菜单栏支持动画和屏幕变换。* 用系统默认的主题而非自定义的颜色。使用自定义颜色会影响图标按钮和菜单动画的效果,而且在某些显示设置下会更耗电。* 菜单栏的透明度可以任意调整,但这里推荐只使用0,0.5和1。* 如果菜单栏的透明度小于1,当前显示页面大小会和屏幕大小一样,菜单栏会遮在它上面。如果透明度为1,显示页面会自动改变大小以适应未被菜单栏遮住的区域。图标按钮设计最佳实践* 用作图标的图片应该是使用了a通道的图片,其背景色为透明,前景色为白色。菜单栏会根据系统主题样式来改变图标的颜色。如果使用了带有背景色的图片,会导致不可预知的问题。* 图标按钮上的圆圈是在运行时由菜单栏加上去的,不需要在源图片里添加圆圈。* 用作图标的图片大小应该是48x48像素。图片内容的大小应该不超出26x26像素的范围,这样才不会被菜单栏加上的圆圈遮住。* 不要设置后退按钮。因为设备上的后退按钮就是专门指定用于页面后退的。* 把最常用的功能设置在图标按钮上。如果某些功能用图标不容易理解,就考虑用菜单项。* 图标按钮上的图片退便在转屏时不要有歧义。* 可以直接用于你的程序中的图标可以从这里下载。 菜单项设计最佳实践* 避免使用超过5个的菜单项,否则用户必须滚动屏幕才能看到。* 在单个菜单项中避免使用过长的文字,否则会引起截断。推荐菜单项内容长度为14到20个英文字符之间。* 为保证良好的用户体验,所有的菜单项和图标按钮的文字都会被变成小写字符。 Silverlight on Windows Phone基于页面导航模型与Web页面模型相似通过URI标识每个页面每个页面是无状态的 当Page1切换到Page21.Page1执行OnNavigatingFrom2.Page1执行OnNavigatedFrom3.Page2执行OnNavigateToOnNavigatingFrom当Page不再是活动页面前OnNavigatedFrom当Page不再是活动页面时OnNavigatedTo当Page被激活时