UWP帧内导航-如何访问父帧?

UWP帧内导航-如何访问父帧?,uwp,frame,Uwp,Frame,在我的UWP应用程序中,我使用了两个帧 例如,主页面有一个框架(大型机)并在此框架中加载一个子页面,这也有一个框架(子框架1)并在此框架中加载第三个页面 现在我想通过单击第三页上的按钮来更改大型机的内容 当我使用: this.Frame.Navigate(typeof(FourthPage)); 它从子页面(子框架1)加载框架中的第四页,但我想在大型机中加载第四页。举个例子,如果您的第三页是这样的: 然后在按钮单击事件中,您可以找到您的大型机,如下所示: private void按钮\u单

在我的UWP应用程序中,我使用了两个帧

例如,主页面有一个框架(大型机)并在此框架中加载一个子页面,这也有一个框架(子框架1)并在此框架中加载第三个页面

现在我想通过单击第三页上的按钮来更改大型机的内容

当我使用:

this.Frame.Navigate(typeof(FourthPage));

它从子页面(子框架1)加载框架中的第四页,但我想在大型机中加载第四页。

举个例子,如果您的第三页是这样的:


然后在按钮单击事件中,您可以找到您的
大型机
,如下所示:

private void按钮\u单击(对象发送者,路由目标)
{
var grid=this.Frame.Parent作为网格;
var page=grid.Parent作为子框架页;
var mainframe=page.Parent作为框架;
大型机导航(类型(第四页));
}

这只是一个示例,可能您的布局与此不同,关键是您可以逐层找到父层。

主主页有以下内容:

<SplitView>
    <SplitView.Pane>
    </SplitView.Pane>
    <SplitView.Content>
        <Frame Name="MainFrame"></Frame>
    </SplitView.Content>
</SplitView>
这意味着“大型机”现在是父帧,并且在其中分配了另一个帧

现在,如果我们想在子帧中导航此父帧,则可以通过以下方式访问它:

Frame parentFrame = Window.Current.Content as Frame;
parentFrame.Navigate(typeof(MainPage));
Frame parentFrame = Window.Current.Content as Frame;
parentFrame.Navigate(typeof(MainPage));