如何取消特定页面UWP上的导航并显示消息对话框提示

时间:2017-11-19 13:17:37

标签: uwp navigation prompt

我正在尝试在某个页面上有一个消息对话框提示,用户可以在该页面上输入他们的信息。但是,我想提示用户,如果他们在该特定页面上点击导航栏时试图退出该页面,则不会保存该信息。

我的导航栏就像一个与很多页面共享的框架,因此我不知道如何“取消”和导航并显示提示信息。

目前我正在尝试将提示的代码放在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();

    }

0 个答案:

没有答案