当我点击活动页面中的按钮时,如何从其他页面更改框架的来源。
我正在做的是在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仍然是框架的显示。
答案 0 :(得分:4)
首先,在页面内部有框架是不常见的。通常你在MainWindow或Usercontrol中有框架,因为Page意味着托管在框架内。
其次,你不能只创建新的Page1
并使用它的框架。这个新创建的Page1只存在于内存中,它是显示的那个实例。
因为从页面中找到Frame非常困难,所以Page class中有 NavigationService 属性。
NavigationService.Navigate(new Uri("page3.xaml",UriKind.Relative));