如何从Windows Phone 8.1中的用户控件导航到另一个页面

时间:2015-04-15 16:01:15

标签: c# windows-phone-8.1

我已经搜索了这个,但是找不到与Windows Phone 8.1环境直接相关的任何内容,如果有可用的链接,请告诉我,因为我认为这将是一个常见的问题.. < / p>

当我点击列表中的项目时,我试图从UserControl中导航到另一个页面,但是,我很难找到父页面的框架,所以我可以导航。

基本上,我试图在用户控件中执行此操作。

 private void lstFoo_ItemClick(object sender, ItemClickEventArgs e)
    {
        Page parentPage = this.Parent as Page; //Returns null

        if (parentPage != null)
        {
            parentPage.Frame.Navigate(typeof(BarPage), e.ClickedItem);
        }
    }

用户控件将在多个页面上使用,并且所有页面都具有相同的结果,但是我无法弄清楚如何使Navigate工作然后传递参数。任何帮助将不胜感激..

感谢。

1 个答案:

答案 0 :(得分:6)

如果您使用标准WP模板,并将 Frame 设置为 Window 内容,那么应该可以这样做:

private void lstFoo_ItemClick(object sender, ItemClickEventArgs e)
{
    (Window.Current.Content as Frame).Navigate(typeof(BarPage), e.ClickedItem);
}

只有通过此参数才会注意 - 如果它不可序列化,那么当您的应用暂停时, SuspensionManager 将抛出异常。