2012-01-17 79 views
0

我的問題與我在這裏看過的例子有點不同。導航控制(使用功能)

我有一個導航用戶控件,我把每一頁上。 在典型的頁面上,我有按鈕點擊事件。

private void butArtists_Click(object sender, RoutedEventArgs e) 
    {   
     PhoneApplicationFrame frame = Application.Current.RootVisual as PhoneApplicationFrame; 
     MainPage mp = frame.Content as MainPage; 
     mp.PlayerMenu("Artists"); 
    } 

當我在MainPage.xaml上的代碼工作正常。但是當我在pg藝術家身上沒有任何反應。我假設正在發生的是頁面正在設置,但沒有顯示。

我對上述函數和類似函數設置了斷點。我對嗎?

所以問題是,當用戶控件嵌入到pg藝術家中時,幀內容不會切換回MainPage。

+0

如果您不是主頁上'frame.Content作爲MainPage'將返回'null' – 2012-01-17 14:50:17

回答

1

這不是頁面導航在Windows Phone上的工作原理。請查看「How to: Perform Page Navigation on Windows Phone link on MSDN」。

您應該使用可從每個頁面獲得的NavigationService,而不是直接使用PhoneApplicationFrame擺弄。

+0

如何將我把我的函數參數?查詢字符串? – user1153974 2012-01-17 15:53:23

+0

查詢字符串適用於在頁面之間傳遞的簡單數據。對於更復雜的數據,您需要使用其他方式來存儲頁面之間共享的應用程序狀態。 – 2012-01-17 15:59:00

+0

這些更復雜的方法是什麼? – user1153974 2012-01-17 16:13:29

0

使用這樣的事情從任何頁面:

var uriFragment = @"views/ArtistsView.xaml"; 
(App.Current.RootVisual as Frame).Navigate(new Uri(uriFragment, UriKind.Relative));