更改框架源 Wpf

Change Frame Source Wpf

当我单击活动页面中的按钮时,如何才能更改来自其他页面的框架源。

我正在做的是在 page1.xaml 中,我有一个显示源的框架 page2.xaml.Once 我单击 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 仍然显示框架。

首先,页面内有框架是不正常的。通常您在 MainWindow 或 Usercontrol 中有 frame,因为 Page 应该托管在 frame 中。

其次,您不能只创建新的 Page1 并使用它的框架。这个新创建的 Page1 只存在于内存中,它是显示的另一个实例。

因为从页面中很难找到Frame,所以Page class.

中有NavigationService 属性
NavigationService.Navigate(new Uri("page3.xaml",UriKind.Relative));