Windows Phone 7 UI設計:代碼隱藏文件和啟動畫面

openkk 12年前發布 | 31K 次閱讀 Windows Phone開發 移動開發 Windows Phone

如果你有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屬性對根框架提供了簡單的訪問。

public PhoneApplicationFrame RootFrame { get; private set; }

PhoneApplicationFrame指的是 MicrosoftPhone.Controls.PhoneApplicationFrame,App.xaml.cs使用 Microsoft.Phone.Controls和Microsoft.Phone.Shell命名空間,App類構造函數調用 IntializePhoneApplication方法,它增加了電話相關的代碼以顯示啟動畫面,下面的代碼片段顯示了經典的Silverlight初始化和新的與手機相關的方法:

public App()     
{     
  // Global handler for uncaught exceptions.     
  // Note that exceptions thrown by ApplicationBarItem.Click     
  // will not get caught here.     
  UnhandledException += Application_UnhandledException;     
  // Standard Silverlight initialization     
  InitializeComponent();     
  // Phone-specific initialization     
  InitializePhoneApplication();     
}    

下面的代碼顯示了InitializePhoneApplication和CompleteInitializePhoneApplication 方法,InitializePhoneApplication方法創建新的框架,并在其中顯示啟動畫面,直到應用程序啟動完畢,CompleteInitializePhoneApplication方法將新框架設置為RootVisual,因為它要連接 RootFrame.Navigated的事件處理程序,注意,不要修改這些方法:

private bool phoneApplicationInitialized = false;     
  // Do not add any additional code to this method     
  private void InitializePhoneApplication()     
  {     
  if (phoneApplicationInitialized)     
  return;     
  // Create the frame but don't set it as RootVisual yet;     
  // this allows the splash screen to remain active until the     
  // application is ready to render.     
  RootFrame = new PhoneApplicationFrame();     
  RootFrame.Navigated += CompleteInitializePhoneApplication;     
  // Handle navigation failures     
  RootFrame.NavigationFailed += RootFrame_NavigationFailed;     
  // Ensure we don't initialize again     
  phoneApplicationInitialized = true;     
  }     
  // Do not add any additional code to this method     
  private void CompleteInitializePhoneApplication(object sender,     
  NavigationEventArgs e)     
  {     
  // Set the root visual to allow the application to render     
  if (RootVisual != RootFrame)     
  RootVisual = RootFrame;     
  // Remove this handler since it is no longer needed     
  RootFrame.Navigated -= CompleteInitializePhoneApplication;     
}

當應用程序加載時,模擬器和設備要顯示啟動畫面,啟動畫面是一個包含在項目中的24位色深,800x480像素的位圖文件 - SplashScreenImage.jpg,你可以用自己的jpeg文件替換它,但注意不能修改名字,只能是 SplashScreenImage.jpg,圖1和圖2分別顯示了默認和自定義啟動畫面。

Windows Phone 7 UI設計:代碼隱藏文件和啟動畫面
圖 1 默認的位圖文件SplashScreenImage.jpg

Windows Phone 7 UI設計:代碼隱藏文件和啟動畫面
圖 2 自定義位圖文件SplashScreenImage.jpg

啟動畫面必須是24位色深,分辨率為800x480像素的jpeg格式文件,如果使用PNG文件代替,將不會顯示啟動畫面,設計自定義啟動畫面時要注意,用戶是可以旋轉設備的。

原文出處:http://www.drdobbs.com/windows/227701092

 本文由用戶 openkk 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!