就是说,我可不可以实现下面这样的功能 。
当我按下手机 的Back键之后, 并不是返回前一个页面, 而是(重写其响应事件)
仍停留在当前界面进行事件的相应 处理。
比如说我现在有个应用 ,只有一个界面,
我把关于应用设置的按钮都布局到了一个canvas上, 我想在按Back事件之后,不是退出程序 ,而是将Canvas显示出来,
以便可以对应用进行别的操作。
求各位 大牛们 给正解。
谢谢啦。
------最佳解决方案--------------------------------------------------------
e.Cancel = true;//不返回
加上应该就行了
protected override void OnBackKeyPress(System.ComponentModel.CancelEventArgs e)
if (isStartScreen)//isStartScreen用来判断是否是起始界面
e.Cancel = false;
else
{
StartCanvas.Visibility = Visibility.Visible;(StartCanvas是我写的一个布有按钮的Canvas)
isStartScreen= true;
e.Cancel = true;
}
------其他解决方案--------------------------------------------------------
protected override void OnBackKeyPress(System.ComponentModel.CancelEventArgs e)
{
if (MessageBox.Show("您真的想退出应用程序吗?", "退出提示!", MessageBoxButton.OKCancel) == MessageBoxResult.OK)
{
e.Cancel = false;
}
else
e.Cancel = true;
}
------其他解决方案--------------------------------------------------------
重写OnBackKeyPress就可以了
------其他解决方案--------------------------------------------------------
我试试哈,谢谢啦,搞不明白再问你。
------其他解决方案--------------------------------------------------------
貌似不太对哇,再请教下,我的代码是这样的
//如果是起始界面,按下Back正常退出程序,如果不是则按下Back后退回起始界面(就是显示出StartCanvas)
protected override void OnBackKeyPress(System.ComponentModel.CancelEventArgs e)
if (isStartScreen)//isStartScreen用来判断是否是起始界面
base.OnBackKeyPress(e);
else
{
StartCanvas.Visibility = Visibility.Visible;(StartCanvas是我写的一个布有按钮的Canvas)
isStartScreen= true;
}
为什么 我在运行时,按Back后还是退出了程序 呢??
求大牛给正解。。。。坐等 。
------其他解决方案--------------------------------------------------------
你会下断点debug跟踪程序的运行过程么?
------其他解决方案--------------------------------------------------------
光这样,还会调用系统返回的
------其他解决方案--------------------------------------------------------
e.Cancel = true;得有这句
------其他解决方案--------------------------------------------------------