之前用的方法是強制拋出一個錯誤使程式崩潰,下面這種的解決辦法好像更好一些.
private void PhoneApplicationPage_BackKeyPress(object sender, System.ComponentModel.CancelEventArgs e) { if (MessageBox.Show("您確定退出程式嗎?", "提示", MessageBoxButton.OKCancel) == MessageBoxResult.OK) { NavigationService.RemoveBackEntry(); } else { e.Cancel = true; } }
以下轉載-----------------------------------------
在部落格園看到很多人寫怎麼退出windows phone的應用,其實windows phone的程式是不需要退出的.
但是有些童鞋需要,而且不遺餘力的研究這個問題。之前得一些方法總結下都屬於外門邪道啊!
以下這個方法才是正道
public static void GoMainPageWithBack(NavigationService NavigationService,string MainpageURL)
{
while (NavigationService.CanGoBack)
{
IEnumerator<JournalEntry> list = NavigationService.BackStack.GetEnumerator();
list.MoveNext();
JournalEntry current = list.Current;
string uri = current.Source.ToString();
if (uri == MainpageURL)
{
NavigationService.GoBack();
}
else
{
NavigationService.RemoveBackEntry();
}
}
}
大體意思就是把你導航棧裡的頁面移除 如果是首頁就GoBack() 然後你就出去了!