2015-08-18 51 views
1

當我單擊活動頁面中的按鈕時,如何更改來自其他頁面的幀源。更改幀源Wpf

我在做什麼在page1.xaml中,我有一個框架,顯示page2.xaml的來源。一旦我點擊page2.xaml中的按鈕,我想更新page1.xaml中的框架來源page3.xaml,框架應顯示page3.xaml而不是page2.xaml。

截至目前,我嘗試使用

page1 pg1 = new page1(); 
pg1.frame.source = new Uri("page3.xaml",UriKind.Relative); 

但它並沒有在的Page1.xaml幀顯示page3.xaml。

我也試過

page1 pg1 = new page1(); 
pg1.frame.Navigate(new Uri("page3.xaml",UriKind.Relative)); 

,但沒有工作,以及,page2.xaml仍然幀的顯示。

回答

3

首先,頁面內有框架是不尋常的。通常你在MainWindow或Usercontrol中有框架,因爲Page是要在框架內部託管的。

其次,你不能只是創建新的Page1並使用它的框架。這個新創建的Page1僅存在於內存中,並且是另一個顯示的實例。

由於從頁面中找到相框會相當困難,因此在Page類中有NavigationService屬性。

NavigationService.Navigate(new Uri("page3.xaml",UriKind.Relative));