我尝试了很多方法,但是当尝试在Windows 10中的一个页面和另一个页面之间导航时,我会遇到一些奇怪的行为。我在app.xaml.cs中显示我的第一页:
View.MainPageView mp = new View.MainPageView();
Window.Current.Content = mp;
这显示主页很好;但是,我有一个命令可以为我的第二页做同样的事情:
View.SecondView dv = new View.SecondView();
Window.Current.Content = dv;
它会显示第二页,但它是空白的。当我尝试使用XAML Spy检查它时,它显示页面在那里;但是,根本没有内容(也就是说,没有控件显示)。
Windows 10中是否有某些特定内容可以解释这一点,或者,是否存在以这种方式覆盖内容以解释此行为的内容?
编辑:
似乎问题是由使用绑定命令引起的,而不是为了导航而处理;以下代码适用于单击事件:
Frame rootFrame = Window.Current.Content as Frame;
rootFrame.Navigated += RootFrame_Navigated;
rootFrame.Navigate(typeof(View.SecondView), null);
但是当从绑定命令调用时,它仍然显示视图,它始终是空白的。我最初认为这可能与调用线程有关,但使用UI线程调度程序没有任何区别。
答案 0 :(得分:2)
Windows 10使用与8.1相同的方法。
如果在Visual Studio中创建新项目并打开App.xaml.cs,则可以找到OnLaunched
方法。在此方法中,您可以看到Frame
的实例已创建并分配给Window.Current.Content
。 Frame
将帮助您管理整个导航。在此方法的最后是导航到MainPage。
rootFrame.Navigate(typeof(MainPage), e.Arguments);
如果要从主页面导航到第二页,则必须使用:
Frame.Navigate(typeof(SecondPage));
要返回主页,请致电:
if (Frame.CanGoBack)
{
Frame.GoBack();
}