我在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