WPF对话框Don';t关闭应用程序

本文关键字:应用程序 对话框 Don WPF | 更新日期: 2023-09-27 18:01:08

我在WPF中创建了一个自定义对话框。我想,当用户单击X时,对话框将打开,如果他想退出,他应该单击"是",如果不想退出,则应该单击"否"。

    static public bool? close;
    private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
    {
        this.Hide();
        WindowClose windowClose = new WindowClose();
        windowClose.ShowDialog();
        close = windowClose.DialogResult;
        if (close == true)
        {
            Application.Current.Shutdown();
        }
        else
        {
            //DONT CLOSE THE APPLICATION AND SHOW THE CURRENT WINDOW
        }
    }

对话框的代码:

    private void button1_Click(object sender, RoutedEventArgs e)
    {
        this.DialogResult = true;
        this.Close();
    }
    private void button2_Click(object sender, RoutedEventArgs e)
    {
        this.DialogResult = false;
        this.Close();
    }

WPF对话框Don';t关闭应用程序

不确定它在WPF中的工作方式是否不同,但在标准winforms中,在对话框的代码中,您将(例如(DialogResult.OK(是(和DialogResult.Cancel(否(设置为。您不需要关闭表单,因为这是在您设置DialogResult 时自动完成的

然后在主形式中,你会有

If (windowClose.ShowDialog() == DialogResult.OK
{
    Application.Current.Shutdown();
}
else
{
    //DONT CLOSE THE APPLICATION AND SHOW THE CURRENT WINDOW
}