我在WP8中工作,我想知道是否可以在按下应用程序的磁贴时将用户重定向到自定义页面而不是默认的MainPage。按下按钮导航到XAML页面
例如,吐司通知有一个NavigationUri
,让您在输入自定义页面后加载它。在瓷砖上,您只能获取该信息而不设置它。 那么还有其他方法或我错过了什么?
我在WP8中工作,我想知道是否可以在按下应用程序的磁贴时将用户重定向到自定义页面而不是默认的MainPage。按下按钮导航到XAML页面
例如,吐司通知有一个NavigationUri
,让您在输入自定义页面后加载它。在瓷砖上,您只能获取该信息而不设置它。 那么还有其他方法或我错过了什么?
这是所有在这篇博客文章很好地涵盖:http://blogs.msdn.com/b/ptorr/archive/2010/08/28/redirecting-an-initial-navigation.aspx?wa=wsignin1.0
本质的想法是取消默认的导航,然后请求任何你想要的Page
导航。
当您创建图块时,您正在指定要导航到的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);
}
这将放置在开始屏幕上一个新的瓷砖,当你点击它,它就会定位到第二页的例子。
它的工作原理,但我想它有一个问题。没有办法告诉我是来自平铺还是来自应用图标。我只希望它在来自平铺的时候重定向。 – sparcopt