我已經通過在跳過的時間內使根框架透明來停止閃爍。這個例子不是直接從我的代碼。
首先想跳過,覆蓋OnNavigatedTo
和測試,看看你都來自網頁上(這是我的代碼變得具體,我跟蹤我所在的地方):
protected override void OnNavigatedTo(NavigationEventArgs e)
{
// If I've come from page C, go back again.
NavigationService.GoBack();
}
其次,在主要的App.xaml中。CS註冊Navigating
的事件處理程序(我把它放在public App()
構造函數):
RootFrame.Navigating += RootFrame_Navigating;
最後,充實他們出去隱藏幀,並再次顯示它的翻斗的持續時間:
private bool _skipped;
private void RootFrame_Navigated(object sender, NavigationEventArgs e)
{
RootFrame.Opacity = 100;
RootFrame.Navigated -= RootFrame_Navigated;
}
private void RootFrame_Navigating(object sender, NavigatingCancelEventArgs e)
{
if (_skipped)
{
_skipped = false;
RootFrame.Navigated += RootFrame_Navigated;
}
if (e.NavigationMode == NavigationMode.Back &&
e.Uri.OriginalString.Contains("ThePage.xaml"))
{
RootFrame.Opacity = 0;
_skipped = true;
}
}
的代碼,以確定何時讓頁面透明也是我的實際代碼不同,但我已經加入到答案說明的實現。這與在另一個答案中鏈接的配方中的代碼幾乎相同,但不涉及需要使用第三方DLL。
我提供我自己的答案,因爲我已經看到了之前在其他的答案中提供的來源,但從來沒有注意過的代碼隱藏根框架。我不使用非線性導航服務,只爲框架的透明度的代碼片段(我並不需要它來檢測圓形導航,因爲我很清楚的設計選擇我讓應用中,可以發現他們自己的: - )
這足以作爲(目前)一個情況下,我有我需要跳過頁面回去時就沒有意義了一種解決方法。我想在Mango問世的時候,我會把最好的目標放在最新的版本上,所以這段代碼很快就會失效。
來源:
+1 - 感謝您的後續答覆。 – keyboardP