2012-07-30 30 views
0

我想通過WPF製作一個包含多個頁面的程序。我現在有Window和幾個Page如何讓WPF頁面導航代碼更好看?

爲了導航,我使用

this.Content = new Page1(); 
在主窗口(從 WindowPage

,並

((Window)this.Parent).Content = new Page1(); 

頁(從PagePage)之間,因爲Page只能是WindowFrame的子元素。

但是,上面的第二行代碼看起來相當難看。

有沒有更好的方法來實現相同的目標?

我已經編寫了幾個Windows Phone應用程序,我認爲在Page s之間導航可能更好,而不是隱藏/顯示元素(如Grid s)。

回答

1

如果您的導航代碼是關於你的Page類,或者:

  • 將其移動到窗口類
  • 創建Page類的事件,並作出反應它的窗口類。
+0

第二種方法聽起來前途。如何實現它? – 2012-07-30 09:25:26

+0

http://msdn.microsoft.com/en-us/library/aa645739%28v=vs.71%29.aspx – mathieu 2012-07-30 09:27:35

0

你有什麼理由不能在窗口中放一個Frame?

您可以使用NavigationService。

http://msdn.microsoft.com/en-us/library/ms750478.aspx

http://www.paulstovell.com/wpf-navigation

也許這可以幫助:

http://azerdark.wordpress.com/2010/04/23/multi-page-application-in-wpf/

+0

如果我放了一個'Frame',我仍然無法從'Page'導航到'Page '不寫醜。另外,我已經在使用'NavigationService'。我剛剛用另一種方式寫了這篇文章。 – 2012-07-30 09:32:14