在实现Windows Phone上实现点按两次返回键退出程序, 一种方法是使用Coding4Fun提供的ToastPrompt, 使用方法如下:
1. 安装引用, 打开Package Manager Console.
输入下列命令以安装 Coding4Fun.Toolkit.Controls
Install-Package Coding4Fun.Toolkit.Controls
输入下列命令以安装 GalaSoft.MvvmLight.Messaging
Install-Package MvvmLight
2. 在代码中,添加如下引用
using Coding4Fun.Toolkit.Controls; using GalaSoft.MvvmLight.Messaging;
3. 在MainPage()构造函数中,注册Messenger的代理函数,并实现该函数
Public MainPage() { Messeger.Default.Register<bool>(this, (l) => ChangeExitState(l)); } bool isExit = false; private void ChangeExitState(bool value) { isExit = value; }
4. 在Backkey_Pressed事件中,实现点按两次退出
private void MainPage_BackPressed(object sender, BackPressedEventArgs e) { if(!isExit) { isExit = true; var toast = new ToastPrompt { Message = "再按一次退出程序" }; toast.Completed += (o, ex) => { Messenger.Default.Send<bool>(false); }; toast.Show(); e.Handled = true; } else { e.Handled = true; Application.Current.Exit(); } }