2013-06-21 34 views
0

我正在嘗試開發位置跟蹤。在這個應用程序中,第一個用戶打開主屏幕。然後他選擇運行導航到第二個屏幕的應用程序。然後它也可以在後臺運行。現在,如果用戶打開應用程序,他應該直接轉到第二個屏幕而不是第一個屏幕。怎麼樣?任何建議,請張貼他們。
//代碼如何在Windows Phone中訪問應用程序時導航到正在運行的屏幕?

private void Timer_Tick(object sender, EventArgs e) 
     { TimeSpan runTime = TimeSpan.FromMilliseconds(System.Environment.TickCount - _startTime); 
    timeLabel.Text = runTime.ToString(@"hh\:mm\:ss"); 
     } 
+0

已應用已經完全退出,或者只是暫停? –

+0

如果應用程序退出而不停止,它會在後臺運行。 –

回答

1

最簡單的方法(我認爲)是,加載第一畫面時,重定向到第二個屏幕,然後從堆棧中刪除頁面。

在第一屏幕:

protected override void OnNavigatedTo(NavigationEventArgs e) 
{ 
    NavigationService.Navigate(new Uri("/SecondScreen.xaml", UriKind.Relative)); 
} 

在第二屏幕:

protected override void OnNavigatedTo(NavigationEventArgs e) 
{ 
    NavigationService.RemoveBackEntry(); 
} 

另一種方法是使用定製的URI映射器,以顯示第二屏幕時,第一屏幕被調用。這有點複雜,但你可以避免現在無用的導航到第一個屏幕。此代碼只能調用一次,導航之前,理想的過程中App.xaml.cs應用程序的初始化:

var mapper = new UriMapper(); 

int random = new Random().Next(0, 3); 

mapper.UriMappings.Add(new UriMapping 
{ 
    Uri = new Uri("/FirstScreen.xaml", UriKind.Relative), 
    MappedUri = new Uri("/SecondScreen.xaml", UriKind.Relative) 
}); 

Application.Current.RootFrame.UriMapper = mapper; 
+0

嗨Kookiz,我很抱歉你沒有得到我的問題。在第二個屏幕中,計時器正在運行。所以如果計時器在後臺運行,它應該導航到第二個屏幕,否則它應該從第一個屏幕開始。請檢查我轉貼的代碼。謝謝你。 –

相關問題