Windows Phone 7 UI设计:代码隐藏文件和启动画面

原创
移动开发
在Windows Phone 7上进行UI设计时,如果你有Silverlight和C#开发经验,那你一定很熟悉App.xaml和它的代码隐藏文件App.xaml.cs,C#代码增加了一些与手机相关的初始化代码,App类使用公共RootFrame属性对根框架提供了简单的访问。

【51CTO译文】如果你有Silverlight和C#开发经验,在Windows Phone 7上进行UI设计时,Windows Phone 7应用程序开发平台“Silverlight for Windows Phone”是Silverlight程序员必备的工具,熟悉Silverlight for Windows Phone之后同样还需要熟悉App.xaml和它的代码隐藏文件App.xaml.cs,C#代码增加了一些与手机相关的初始化代码,App类使用公共RootFrame属性对根框架提供了简单的访问。

  1. public PhoneApplicationFrame RootFrame { get; private set; }  

PhoneApplicationFrame指的是MicrosoftPhone.Controls.PhoneApplicationFrame,App.xaml.cs使用Microsoft.Phone.Controls和Microsoft.Phone.Shell命名空间,App类构造函数调用IntializePhoneApplication方法,它增加了电话相关的代码以显示启动画面,下面的代码片段显示了经典的Silverlight初始化和新的与手机相关的方法:

  1. public App()  
  2. {  
  3. // Global handler for uncaught exceptions.  
  4. // Note that exceptions thrown by ApplicationBarItem.Click  
  5. // will not get caught here.  
  6. UnhandledException += Application_UnhandledException;  
  7. // Standard Silverlight initialization  
  8. InitializeComponent();  
  9. // Phone-specific initialization  
  10. InitializePhoneApplication();  
  11. }  

下面的代码显示了InitializePhoneApplication和CompleteInitializePhoneApplication方法,InitializePhoneApplication方法创建新的框架,并在其中显示启动画面,直到应用程序启动完毕,CompleteInitializePhoneApplication方法将新框架设置为RootVisual,因为它要连接RootFrame.Navigated的事件处理程序,注意,不要修改这些方法:

  1. private bool phoneApplicationInitialized = false;  
  2. // Do not add any additional code to this method  
  3. private void InitializePhoneApplication()  
  4. {  
  5. if (phoneApplicationInitialized)  
  6. return;  
  7. // Create the frame but don't set it as RootVisual yet;  
  8. // this allows the splash screen to remain active until the  
  9. // application is ready to render.  
  10. RootFrame = new PhoneApplicationFrame();  
  11. RootFrame.Navigated += CompleteInitializePhoneApplication;  
  12. // Handle navigation failures  
  13. RootFrame.NavigationFailed += RootFrame_NavigationFailed;  
  14. // Ensure we don't initialize again  
  15. phoneApplicationInitialized = true;  
  16. }  
  17. // Do not add any additional code to this method  
  18. private void CompleteInitializePhoneApplication(object sender,  
  19. NavigationEventArgs e)  
  20. {  
  21. // Set the root visual to allow the application to render  
  22. if (RootVisual != RootFrame)  
  23. RootVisual = RootFrame;  
  24. // Remove this handler since it is no longer needed  
  25. RootFrame.Navigated -CompleteInitializePhoneApplication;  
  26. }  
  27.  

当应用程序加载时,模拟器和设备要显示启动画面,启动画面是一个包含在项目中的24位色深,800x480像素的位图文件 - SplashScreenImage.jpg,你可以用自己的jpeg文件替换它,但注意不能修改名字,只能是SplashScreenImage.jpg,图1和图2分别显示了默认和自定义启动画面。

默认的位图文件SplashScreenImage.jpg
图 1 默认的位图文件SplashScreenImage.jpg

默认的位图文件SplashScreenImage.jpg
图 2 自定义位图文件SplashScreenImage.jpg

启动画面必须是24位色深,分辨率为800x480像素的jpeg格式文件,如果使用PNG文件代替,将不会显示启动画面,设计自定义启动画面时要注意,用户是可以旋转设备的。

原文出处:http://www.drdobbs.com/windows/227701092;jsessionid=0LPPSGFA3UDNBQE1GHPSKH4ATMY32JVN

原文名:Developing a Silverlight UI for Windows Phone 7

作者:Gaston Hillar

【编辑推荐】 

  1. Windows Phone 7 UI设计理念
  2. 简述Windows Phone 7应用程序开发平台
  3. Windows Phone 7 UI设计菜单:理解MainPage.xaml
  4. Windows Phone 7开发工具发布更新包 附下载地址
  5. 微软推Windows Phone 7 Silverlight程序员成赢家
责任编辑:佚名 来源: 51CTO独家译稿
相关推荐

2010-11-09 09:43:22

UI设计Windows Pho

2009-12-02 08:56:07

Windows 7启动画面

2009-02-20 09:17:27

Windows 7启动画面构思

2019-12-03 19:04:50

Windows 7Windows 10电脑

2009-04-08 10:51:59

Windows Emb

2009-03-25 09:05:24

微软Windows 7操作系统

2010-11-10 10:12:21

MainPage.xaUI设计Windows Pho

2010-11-24 16:15:09

UI设计Windows Pho

2010-11-24 16:36:02

Windows PhoUI设计Windows Pho

2009-07-22 17:35:23

代码隐藏文件ASP.NET

2017-11-23 15:25:28

命令隐藏windows

2012-03-20 21:05:53

Windows Pho

2011-12-29 21:22:29

Windows Pho

2010-10-25 14:07:55

Windows Pho

2019-01-22 16:10:23

rcm隐藏文件Linux

2011-03-28 09:08:04

评测报告设计Windows Pho

2011-02-15 09:07:33

Windows Pho诺基亚

2011-07-12 09:20:32

Windows 8Windows Pho

2009-03-06 14:39:20

LinuxUbuntuUsplash

2015-10-12 16:20:55

隐藏文件夹Windows
点赞
收藏

51CTO技术栈公众号