从子页面框架到主页面框架的 UWP 导航

UWP navigation from child page frame to main page frame

我正在开发一个 UWP 应用程序,我遇到了返回根框架导航的问题,我有主页,我有框架,我将所有页面导航到这个框架中,,dashboard.xaml,orders.xaml...等,我的 orders.xaml 我有另一个框架...在那个框架中,当我在任何这些页面,我需要导航到我的订单页面......所以我面临着让主页框架将我的 Orders.xaml 导航到那个页面的问题,请帮助我。提前致谢

应该这样做:

Frame.Navigate(typeof(orders));

有多种方法可以实现您想要的。例如,您可以在 Mainpage 中定义一个 public static 属性 来公开 Frame.

public sealed partial class MainPage : Page
{
    public static Frame MainPageFrame;

    public MainPage()
    {
        this.InitializeComponent();
        //Frame1 is the name of the Frame in XAML
        MainPageFrame = Frame1;
    }

    ...
}

然后在订单详情页面,使用这个属性进行导航。

MainPage.MainPageFrame?.Navigate(typeof(Orders));

或者您可以利用 VisualTreeHelper 并获取父级 Frame 即 "Frame1" 如:

//this.Frame gets the Frame holds the order details page (i.e "Frame2") 
FindParent<Frame>(this.Frame)?.Navigate(typeof(Orders));

这里的FindParent方法是一个使用VisualTreeHelper.GetParent方法的帮助方法,如下所示:

public static T FindParent<T>(DependencyObject dependencyObject) where T : DependencyObject
{
    var parentObject = VisualTreeHelper.GetParent(dependencyObject);

    if (parentObject == null) return null;

    var parent = parentObject as T;
    return parent ?? FindParent<T>(parentObject);
}