我在 WP8 中工作,我想知道在按下应用程序的磁贴时是否可以将用户重定向到自定义页面而不是默认的 MainPage。
例如,Toast Notifications 有一个NavigationUri
让您在按下它后输入要加载的自定义页面。在瓷砖上,您只能获取该信息而不能设置它。那么还有其他方法还是我错过了什么?
我在 WP8 中工作,我想知道在按下应用程序的磁贴时是否可以将用户重定向到自定义页面而不是默认的 MainPage。
例如,Toast Notifications 有一个NavigationUri
让您在按下它后输入要加载的自定义页面。在瓷砖上,您只能获取该信息而不能设置它。那么还有其他方法还是我错过了什么?
听起来你需要一个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。
这篇博客文章很好地涵盖了这一切:http: //blogs.msdn.com/b/ptorr/archive/2010/08/28/redirecting-an-initial-navigation.aspx ?wa=wsignin1.0
本质上,这个想法是取消默认导航,然后请求导航到Page
您想要的任何位置。
创建磁贴时,您正在指定要导航到的 URL。只需包含一个附加参数,例如comingFrom
并将其设置为tile
- 在视图OnNavigatedTo
中,检查参数是否存在(QueryString
是您的朋友)。
如果是 - 您从磁贴导航。如果不是 - 你没有。