更改WPF框架源

4

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

我正在做的是,在page1.xaml中,我有一个带有源显示page2.xaml的frame。一旦我在page2.xaml中点击按钮,我想要更新page1.xaml中frame的源为page3.xaml,并且frame应该显示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个回答

8

首先,在页面内部使用框架是不寻常的。通常情况下,您会在MainWindow或Usercontrol中使用框架,因为Page旨在被托管在框架内。

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

由于从页面中找到框架相当困难,因此在Page类中有一个NavigationService属性。

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接