我有一个页面,它通过它的 Source 属性加载到 Frame 元素中。我需要从源 xaml 的代码隐藏中访问 Frames .BackStack 属性...这可能吗?
所以大致的代码是 -
<Frame x:Name="contentFrame" Source="ProjectsPage.xaml"/>
在 ProjectsPage.xaml.cs 我想访问其父框架上的属性。
我有一个页面,它通过它的 Source 属性加载到 Frame 元素中。我需要从源 xaml 的代码隐藏中访问 Frames .BackStack 属性...这可能吗?
所以大致的代码是 -
<Frame x:Name="contentFrame" Source="ProjectsPage.xaml"/>
在 ProjectsPage.xaml.cs 我想访问其父框架上的属性。
如果您使用NavigationService.GetNavigationService并从 ProjectsPage 中传入一个元素,您可以在Frame 的 NavigationService上访问CanGoBack和GoBack之类的内容,这让您完成的工作几乎与拥有 BackStack 本身一样多。
导航历史是 WPF 严重不足的一个领域。不,我不相信有任何方法可以从页面获取 Frame 的 BackStack。如果您不需要一般地执行此操作,则可以实施一些 hack。挂钩 Frame 的导航事件,并将附加的依赖属性设置到导航到的任何 DependencyObject 上的 Frame。不幸的是,你可以用 BackStack 做的不多,但我假设你已经确定它对于你正在做的事情已经足够好了。