我正在尝试在某个页面上有一个消息对话框提示,用户可以在该页面上输入他们的信息。但是,我想提示用户,如果他们在该特定页面上点击导航栏时试图退出该页面,则不会保存该信息。
我的导航栏就像一个与很多页面共享的框架,因此我不知道如何“取消”和导航并显示提示信息。
目前我正在尝试将提示的代码放在OnNavigatedFrom ....当我点击导航栏上的任何按钮时页面被导航,并且提示消息确实显示。这不是我想要的。我该怎么做?谢谢。
protected override void OnNavigatedFrom(NavigationEventArgs e)
{
navigationHelper.OnNavigatedFrom(e);
idleTimer.Stop();
MessageDialog clickMessage;
UICommand YesBtn;
UICommand CancelBtn;
clickMessage = new MessageDialog("The photo has not been sent. Are you sure you want to cancel the request?");
YesBtn = new UICommand("Yes", delegate (IUICommand command)
{
idleTimer.Stop();
var rootFrame = (Window.Current.Content as Frame);
rootFrame.Navigate(typeof(HomePage));
rootFrame.BackStack.Clear();
});
CancelBtn = new UICommand("Cancel", delegate (IUICommand command)
{
idleTimer.Stop();
var rootFrame = (Window.Current.Content as Frame);
rootFrame.Navigate(typeof(MainPage), "SendPhoto");
rootFrame.BackStack.Clear();
}
);
clickMessage.Commands.Add(YesBtn);
clickMessage.Commands.Add(CancelBtn);
clickMessage.ShowAsync();
}