“你确定要退出吗.”如果是,那么回去其他地方仍然存在,这通过使用此代码工作正常
HarDWarebuttons.Backpressed += HarDWarebuttons_Backpressed;private async voID HarDWarebuttons_Backpressed(object sender,BackpressedEventArgs e) { e.Handled = true; MessageDialog dlg = new MessageDialog("Are you sure you want to quit you will loose all your work ?","Warning"); dlg.Commands.Add(new UICommand("Yes",new UICommandInvokedHandler(CommandHandler1))); dlg.Commands.Add(new UICommand("No",new UICommandInvokedHandler(CommandHandler1))); await dlg.ShowAsync(); } private voID CommandHandler1(iuiCommand command) { var label = command.Label; switch (label) { case "Yes": { this.Frame.Navigate(typeof(MainPage)); break; } case "No": { break; } } }
但是当我按下BlankPage上的按钮时,此消息也会出现在那里,如果我添加更多内容,也会出现在所有其他基本页面中.我在做什么错?
解决方法 您正在页面构造函数或页面加载事件中注册硬件返回按钮,一旦注册此事件,您就不会取消注册此事件. BackPress是应用级别.在您想要的页面上正确使用此事件注册OnNavigatedTo覆盖方法中的Back Press事件,并在OnNavigatedFrom ovrrIDe方法中取消注册此事件.这是怎么回事.protected overrIDe voID OnNavigatedTo(NavigationEventArgs e) { windows.Phone.UI.input.HarDWarebuttons.Backpressed += HarDWarebuttons_Backpressed; } protected overrIDe voID OnNavigatedFrom(NavigationEventArgs e) { windows.Phone.UI.input.HarDWarebuttons.Backpressed -= HarDWarebuttons_Backpressed; }总结
以上是内存溢出为你收集整理的c# – 如何在Windows Phone 8.1中覆盖基本页面的HardwareButtons_BackPressed全部内容,希望文章能够帮你解决c# – 如何在Windows Phone 8.1中覆盖基本页面的HardwareButtons_BackPressed所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)