我是一名学生,正在构建一个C#WPF应用程序.它有三个窗口:
登录窗口
创建帐户窗口
和主应用程序窗口.
我上传了一个图来显示我想要实现的导航类型:

我认为在另一个窗口的close/load事件中显示/隐藏窗口是不正确的.
有人能告诉我实施此导航的正确方法吗?
另外,将三个窗口作为应用程序类的私有属性是一个好习惯吗?
最后一个窗口具有框架控件以支持页面导航.再次,使MainWindow应用程序的三个页面私有属性更好吗?
如果这是如此明显或容易做到,我很抱歉.谢谢
我不会将这三个窗口作为应用程序的属性。我将实例化登录窗口的副本并将其用作我的中心控制点。
当用户登录时,隐藏登录窗口,显示新的主窗口并在主窗口 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()。
希望有帮助...