如何从页面级别获取父框架?

Posted

技术标签:

【中文标题】如何从页面级别获取父框架?【英文标题】:How to get parent frame from page level? 【发布时间】:2015-01-14 03:18:27 【问题描述】:

我有一个带有框架和几页的窗口。加载窗口时,框架导航到欢迎页面,当我单击欢迎页面内的按钮时,我希望父框架导航到另一个页面。为此,我需要从页面级别访问父框架,但我不知道如何执行此操作。我尝试了下面的代码,但它返回 null:

private void myButton_click(object sender, RoutedEventArgs e)

  SecondPage secPage = new SecondPage();
  ((this.Parent) as Frame).Navigate(secPage);

我检查了this.parent 返回的内容,结果为空。 如何获取父框架以便从一个页面导航到另一个页面?

【问题讨论】:

【参考方案1】:

页面还有一个名为NavigationService 的属性。为了方便在页面之间导航,您可以使用此属性:

private void myButton_click(object sender, RoutedEventArgs e) 
  SecondPage secPage = new SecondPage();
  NavigationService.Navigate(secPage);

要访问父框架,您必须使用VisualTreeHelper 向上走,找到框架。你可以搜索更多关于它的信息。无论如何使用NavigationService 属性更好。

【讨论】:

是的。这就是我一直在寻找的东西。标记为答案。谢谢你的帮助。 这看起来很糟糕,我会用“老好”“在某处创建一个静态字段的噱头”

以上是关于如何从页面级别获取父框架?的主要内容,如果未能解决你的问题,请参考以下文章

从框架内关闭 wpf 窗口

如何从子框架导航父框架

如何从网站获取数据并在 excel 页面对象模型中打印,数据驱动和页面工厂这是混合框架

如何获取iframe的父窗口的body标签啊

子页面iframe如何调用 父页面的方法 或者对象(基于layui框架)

如何防止 iframe 访问父框架?