按下磁贴后导航到XAML页面

时间:2013-06-20 22:26:19

标签: c# xaml windows-phone-8 navigation live-tile

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

例如,Toast Notifications有一个NavigationUri,让您在按下后输入要加载的自定义页面。在瓷砖上,您只能获取该信息而不能设置它。 所以还有其他方法或者我错过了什么?

3 个答案:

答案 0 :(得分:0)

这篇博客文章中很好地介绍了这一点:http://blogs.msdn.com/b/ptorr/archive/2010/08/28/redirecting-an-initial-navigation.aspx?wa=wsignin1.0

基本上,我们的想法是取消默认导航,然后请求导航到您想要的任何Page

答案 1 :(得分:0)

创建磁贴时,您指定要导航的URL。只需在视图comingFrom中添加其他参数,例如tile并将其设置为OnNavigatedTo,检查参数是否存在(QueryString是您的朋友)。< / p>

如果是 - 您从平铺导航。如果不是 - 你没有。

答案 2 :(得分:0)

听起来你需要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);
}

这将在开始屏幕上放置一个新图块,当您点按它时,它将导航到第2页。