之前用的方法是強制拋出一個錯誤使程序崩潰,下面這種的解決辦法好像更好一些.
private void PhoneApplicationPage_BackKeyPress(object sender, System.ComponentModel.CancelEventArgs e)
{
if (MessageBox.Show("您確定退出程序嗎?", "提示", MessageBoxButton.OKCancel) == MessageBoxResult.OK)
{
while (NavigationService.BackStack.Count() > 0)
{
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() 然後你就出去了!