独立显示/隐藏窗口的最佳方法

Stu*_*ent 5 navigation wpf

我是一名学生,正在构建一个C#WPF应用程序.它有三个窗口:

  1. 登录窗口

  2. 创建帐户窗口

  3. 和主应用程序窗口.

我上传了一个图来显示我想要实现的导航类型:

http://picturepush.com/public/8870554

我认为在另一个窗口的close/load事件中显示/隐藏窗口是不正确的.

  1. 有人能告诉我实施此导航的正确方法吗?

  2. 另外,将三个窗口作为应用程序类的私有属性是一个好习惯吗?

  3. 最后一个窗口具有框架控件以支持页面导航.再次,使MainWindow应用程序的三个页面私有属性更好吗?

如果这是如此明显或容易做到,我很抱歉.谢谢

Grh*_*rhm 0

我不会将这三个窗口作为应用程序的属性。我将实例化登录窗口的副本并将其用作我的中心控制点。

当用户登录时,隐藏登录窗口,显示新的主窗口并在主窗口 Closed 事件上添加挂钩。

例如

if (logonSuccess)
{
    var mainWindow = new MainWindow();
    mainWindow.Closed += ReshowSignupWindow;
}
Run Code Online (Sandbox Code Playgroud)

我还希望登录窗口对创建帐户窗口执行相同的操作。因此,我会让创建帐户窗口返回到注册窗口,如果创建了帐户,该窗口将重新显示自身或启动主窗口。

例如:

// In sign-in window, handle the create window being closed
private void CreateWindowClosedHandler(object sender, EventArgs e)
{
    if (accountCreatedOK)
    {
        ShowMainWindow();
    }
    else
    {
        ReshowSignupWindow();
    }
}
Run Code Online (Sandbox Code Playgroud)

我可能会考虑通过调用将创建帐户窗口显示为对话框窗口ShowDialog()

希望有帮助...