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