目前在Windows Phone 8.1中,如果我要导航到新页面,首先我必须创建一个新的页面项 - MyNewPage
- 它会生成一个XAML和CS文件。为了导航到它,我执行以下操作:
Frame.Navigate(typeof(MyNewPage));
现在,我想知道是否可以在代码中创建一个新的页面并导航到它,例如:
Page myNewPage = new Page();
Frame.Navigate(typeof(myNewPage));
由于Navigate方法只接受typeof()
,我该如何做到这一点?
答案 0 :(得分:1)
This link表示您可以将任何对象作为另一个版本的Frame.Navigate方法的第二个参数传递。我认为你可以使用它(我建议你想从你的新页面或smth中填写代码背后的一些属性......)。您也可以在导航后从Frame访问您的页面。想想看,它可能会有所帮助。
var root = Window.Current.Content as Frame;
var mainPage = root.Content as Page;
答案 1 :(得分:1)
感谢@gunr2171's wild guess,我能够让它发挥作用。所以最终的代码如下:
Page myNewPage = new Page();
Type pageType = myNewPage.GetType();
Frame.Navigate(pageType);
或使其更简单:
Page myNewPage = new Page();
Frame.Navigate(myNewPage.GetType());