需要从窗口关闭页面

所以我有一个页面(Homepage.xaml),当我点击这个页面上的一个按钮时,它会打开一个提示(Prompt.xaml)。

http://img3.mukewang.com/637b804b0001c16906580356.jpg

此提示只是我使用window.ShowDialog();Homepage.cs 中的方法创建和执行的一个窗口。我已经能够添加一些代码,当单击“否”按钮时提示窗口关闭,现在我发现麻烦的地方是“是”按钮。


我想要的是让 YES 按钮带我回到MainWindow,到目前为止我已经能够实现,但是当它打开时,以前的 Homepage.xaml 仍然存在,我不知道如何从提示窗口,如果可能的话?


另一件事是,当MainWindow打开它有点弹出时,我可以让它只是落在页面上而不是像新程序一样打开/弹出吗?这是代码。


首页.cs


public partial class User_Homepage : Page

{

    public static Page pager { get; set; } 


    public User_Homepage()

    {

        InitializeComponent();

    }

    public void UserLogoutBtn_Click(object sender, RoutedEventArgs e)

    {

        var lovmsgb = new Custom_MessageBoxes.LogoutVerification();

        lovmsgb.ShowDialog();

    }

}

提示.cs


public partial class LogoutVerification : Window

{

    public LogoutVerification()

    {

        InitializeComponent();

    }

    private void YesLogoutBtn_Click(object sender, RoutedEventArgs e)

    {

        this.Close();


        MainWindow window = new MainWindow() { WindowStartupLocation = WindowStartupLocation.CenterScreen};

        window.Show();

    }

    private void NoLogoutBtn_Click(object sender, RoutedEventArgs e)

    {

        this.Close();

    }

}

和MainWindow.cs以防万一


public partial class MainWindow : Window

{

    public MainWindow()

    {

        InitializeComponent();

    }

    private void BtnClickP1(object sender, RoutedEventArgs e)

    {

        mainFrame.Content = new Page1();

    }

    private void AdminBtn_Click(object sender, RoutedEventArgs e)

    {

        mainFrame.Content = new Page3();

    }

}


潇湘沐
浏览 104回答 1
1回答

婷婷同学_

要检查单击了哪个按钮,您应该DialogResult在 DialogWindow 中分配:    private void YesLogoutBtn_Click(object sender, RoutedEventArgs e)    {        DialogResult = true;        this.Close();    }    private void NoLogoutBtn_Click(object sender, RoutedEventArgs e)    {        DialogResult = false;        this.Close();    }现在 make 方法在您的 MainWindow 中调用对话框并将其作为参数传递给 Page1:    private void AskDialog()    {        Dialog dialog = new Dialog();        if (dialog.ShowDialog() == true)        {            mainFrame.Content = null;        }        else        {            // False action        }    }    private void button1_Click(object sender, RoutedEventArgs e)    {        frame.Content = new Page1(AskDialog);    }在 Page1 中,只需在按下按钮后调用此操作:    public User_Homepage(Action askDialog)    {        InitializeComponent();        AskDialog = askDialog;    }    private readonly Action AskDialog;    private void UserLogoutBtn_Click(object sender, RoutedEventArgs e)    {        AskDialog();    }
打开App,查看更多内容
随时随地看视频慕课网APP