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

时间:2017-02-11 06:33:57

标签: xaml navigation uwp frame

我正在开发一个UWP应用程序,我遇到了一个关于根框架导航的问题,我有主页,因为我有框架,我将所有页面导航到这个框架,dashboard.xaml,orders.xaml ... .etc,我的订单。我有另一个框架...在那个框架中我导航3个窗体(带有取消按钮的xaml页面)当我在任何这些页面中点击取消按钮时,我需要导航到我的订单页面返回...所以我面临着将主页框架导航到我的Orders.xaml的问题,请帮助我。提前致谢

2 个答案:

答案 0 :(得分:1)

这应该这样做:

Frame.Navigate(typeof(orders));

答案 1 :(得分:1)

有多种方法可以达到你想要的效果。例如,您可以在Mainpage中定义公开的静态属性,以公开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));

或者你可以利用http://go.microsoft.com/fwlink/?LinkId=260882并获得父Frame,即“Frame1”,如:

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

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

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);
}