如何通过按下按钮呼叫另一个 Window?

How Do I Call Another Window With Button Press?

我希望能够按一个按钮让程序打开一个新的 window 并关闭旧的。

我遵循了这个link的解决方案,但我从来没有成功过How do I open a second window from the first window in WPF?

这是我目前的工作:

Window editor = new Window();
editor.Show();
this.Close();

但这没有任何作用。

程序应该打开一个新的 window 并关闭旧的。

您描述的功能将正常工作。问题更可能是您调用此函数的函数或方法。

编写一个可以根据需要处理按钮按下的 Methode 在这里描述得很好:https://www.c-sharpcorner.com/forums/c-sharp-button-click-hold-and-release

希望这对您有所帮助,否则就问

如果有帮助,这里有一个小的实现:

public partial class MainWindow : Window
{
    private void MainWindow_KeyDown(object sender, KeyEventArgs e)
    {
        Window editor = new MainWindow();
        editor.Show();
        this.Close();
    }

    private void MainWindow_KeyUP(object sender, KeyEventArgs e)
    {

    }
    public MainWindow()
    {
        this.KeyDown += MainWindow_KeyDown;
        this.KeyUp += MainWindow_KeyUP;
    }
}

您必须从第一个 window 调用第二个。这是我为一个弹出新登录面板的项目所做的事情 window:

 private void displayLoginPanel_Click(object sender, EventArgs e) 
 {
     LoginPanel myLogin = new LoginPanel(this);
     myLogin.Show();
     this.Hide();
 }

我使用 hide() 而不是 close(),因为您可以看到我将父项的引用发送给子项 LoginPanel,以便稍后返回。您可以将 Hide() 替换为 Close()。