当按下tile时导航到XAML页面

本文关键字:XAML 页面 导航 tile | 更新日期: 2023-09-27 18:19:13

我在WP8工作,我想知道是否有可能将用户重定向到自定义页面,而不是默认的MainPage,当应用程序的磁贴被按下。

例如,Toast Notifications有一个NavigationUri,让你在按下后输入一个自定义页面来加载。在tile中,你只能获取这些信息而不能设置它。还有别的办法吗,还是我遗漏了什么?

当按下tile时导航到XAML页面

这篇博文很好地涵盖了这些内容:http://blogs.msdn.com/b/ptorr/archive/2010/08/28/redirecting-an-initial-navigation.aspx?wa=wsignin1.0

本质上的想法是取消默认导航,然后请求导航到您想要的Page

创建tile时,指定要导航到的URL。只需包含一个附加参数,例如comingFrom并将其设置为tile -在OnNavigatedTo视图中,检查参数是否存在(QueryString是您的朋友)。

如果它是-你从一个磁贴导航。如果不是-你没有。

听起来你需要一个SecondaryTile。如果你愿意的话,SecondaryTiles可以让你导航到一个不同于"MainPage"的页面。

下面是一个如何创建二级标题 的示例
ShellTile tileToFind = ShellTile.ActiveTiles.FirstOrDefault(x => x.NavigationUri.ToString().Contains("Page2.xaml"));
if (tileToFind == null) // have not pinned this page yet!
{
    // Create the tile if we didn't find it already exists.
    var tileData = new StandardTileData
    {
        Title = "Navigate To Page2",
    };
    // Create the tile and pin it to Start. This will cause a navigation to Start and a deactivation of our application.
    ShellTile.Create(new Uri("/Page2.xaml", UriKind.Relative), tileData);
}

这将在开始屏幕上放置一个新的磁贴,当你点击它时,它将导航到Page2