Windows store apps Win8存储应用程序,在OnNavigatedFrom方法中执行一些检查
当我点击导航按钮(返回)到主页时,我想做一些检查。 1.显示消息对话框显示更新内容“是”或“否” 2.如果单击“是”,则更新当前页面。 如果单击“否”,则不执行任何操作 3.导航至主页 我使用下面的代码,但当前它将首先返回主页,然后弹出消息对话框。 如何让导航到主页的操作在我单击消息对话框后发生Windows store apps Win8存储应用程序,在OnNavigatedFrom方法中执行一些检查,windows-store-apps,messagedialog,Windows Store Apps,Messagedialog,当我点击导航按钮(返回)到主页时,我想做一些检查。 1.显示消息对话框显示更新内容“是”或“否” 2.如果单击“是”,则更新当前页面。 如果单击“否”,则不执行任何操作 3.导航至主页 我使用下面的代码,但当前它将首先返回主页,然后弹出消息对话框。 如何让导航到主页的操作在我单击消息对话框后发生 protected async override void OnNavigatedFrom(NavigationEventArgs e) { MessageDialog
protected async override void OnNavigatedFrom(NavigationEventArgs e)
{
MessageDialog md = new MessageDialog("Do you want to save");
md.Commands.Add(new UICommand("Yes", (UICommandInvokedHandler) =>
{
Application.Current.Exit();
//this.UpdateClick();
}));
md.Commands.Add(new UICommand("No"));
var task = md.ShowAsync().AsTask();
await task;
}
OnNavigateFrom不可取消,并且在导航已经发生之后发生 与其拥有代码,不如将“后退”按钮重新连接到弹出消息框的单击处理程序?然后,当用户单击按钮时,您将执行相应的导航
private async void OnBackButtonClick(object sender, RoutedEventArgs routedEventArgs)
{
MessageDialog md = new MessageDialog("Do you want to save");
md.Commands.Add(new UICommand("Yes", uiCommandInvokedHandler =>
{
// Refresh logic
}));
md.Commands.Add(new UICommand("No", uiCommandInvokedHandler =>
{
var rootFrame = (Frame)Window.Current.Content;
rootFrame.Navigate(typeof(MainPage));
}));
await md.ShowAsync();
}