为了账号安全,请及时绑定邮箱和手机立即绑定

需要从窗口关闭页面

需要从窗口关闭页面

C#
潇湘沐 2022-11-21 21:42:07
所以我有一个页面(Homepage.xaml),当我点击这个页面上的一个按钮时,它会打开一个提示(Prompt.xaml)。此提示只是我使用window.ShowDialog();Homepage.cs 中的方法创建和执行的一个窗口。我已经能够添加一些代码,当单击“否”按钮时提示窗口关闭,现在我发现麻烦的地方是“是”按钮。我想要的是让 YES 按钮带我回到MainWindow,到目前为止我已经能够实现,但是当它打开时,以前的 Homepage.xaml 仍然存在,我不知道如何从提示窗口,如果可能的话?另一件事是,当MainWindow打开它有点弹出时,我可以让它只是落在页面上而不是像新程序一样打开/弹出吗?这是代码。首页.cspublic 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();    }}提示.cspublic 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();    }}
查看完整描述

1 回答

?
婷婷同学_

TA贡献1844条经验 获得超8个赞

要检查单击了哪个按钮,您应该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();

    }


查看完整回答
反对 回复 2022-11-21
  • 1 回答
  • 0 关注
  • 68 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信