之前用的方法是强制抛出一个错误使程序崩溃,下面这种的解决办法好像更好一些.
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() 然后你就出去了!