[WP7開發] App 啟動時選擇不同的頁面

在建立 Windows Phone 專案時,專案範本都會建立一個預設啟動的頁面 -- MainPage.xaml。但有的時候會希望能在 app 啟動時,根據一些邏輯判斷而選擇不同的頁面來啟動,這時可以採用以下的作法。

首先,將專案目錄中的 Properties\WMAppManifest.xml 檔案中的 <Tasks></Tasks> 標籤中的 <DefaultTask> 修改為

 <Tasks>
  <DefaultTask Name="_default" />
</Tasks>

將原本設定的 TaskName="MainPage.xaml" 拿掉。

這樣的修改完畢後,再到 App.xaml.cs 檔案中,在 Application_Launching 事件中就可以自己決定要載入的畫面(Page1.xamlPage2.xaml),程式範例如下:

 private void Application_Launching(object sender, LaunchingEventArgs e)
{
  string target;
  if (判斷式1)
  {
    target = "Page1.xaml";
  }
  else
  {
    target = "Page2.xaml";
  }
  RootFrame.Navigate(new Uri(target, UriKind.Relative));
}

不知道大家有沒有更好的作法呢?