在实现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();
}
}