在Windows Phone 8.1后面的代码中创建新页面

时间:2014-10-02 15:10:13

标签: c# xaml navigation windows-phone-8.1

目前在Windows Phone 8.1中,如果我要导航到新页面,首先我必须创建一个新的页面项 - MyNewPage - 它会生成一个XAML和CS文件。为了导航到它,我执行以下操作:

Frame.Navigate(typeof(MyNewPage));

现在,我想知道是否可以在代码中创建一个新的页面并导航到它,例如:

Page myNewPage = new Page();
Frame.Navigate(typeof(myNewPage));

由于Navigate方法只接受typeof(),我该如何做到这一点?

2 个答案:

答案 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());