更改帧源Wpf

时间:2015-08-18 07:25:24

标签: c# wpf frame

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

我正在做的是在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仍然是框架的显示。

1 个答案:

答案 0 :(得分:4)

首先,在页面内部有框架是不常见的。通常你在MainWindow或Usercontrol中有框架,因为Page意味着托管在框架内。

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

因为从页面中找到Frame非常困难,所以Page class中有 NavigationService 属性。

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