WP8.1 双击两次返回键退出程序

时间:2021-12-09 16:37:09

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