【发布时间】:2019-07-18 07:38:06
【问题描述】:
如何将在一个方法中创建的窗口实例隐藏在另一个方法中?
我有一个带有“注册”按钮的登录窗口,当您单击该按钮时,注册窗口正在打开,而登录窗口正在隐藏(工作正常)。 现在的问题是,我在注册窗口上有一个“返回”按钮,它应该隐藏注册窗口并显示登录窗口。 我可以显示登录窗口:“Application.Current.MainWindow.Show();”,但我不知道如何隐藏注册窗口。通常我只会选择“Regis.Hide()”,但我不能这样做,因为我在方法中有 Regis 的实例,它会打开注册窗口。
我明白,如果我在第二个方法中创建第二个实例并隐藏它,那将不起作用,因为现在有 2 个单独的实例。 但正如我所说,我也不知道该怎么做。
OpenRegistrationGui:
ICommand _RegisterBack;
public void Open()
{
Application.Current.MainWindow.Hide();
Register regis = new Register();
regis.Show();
}
public ICommand RegisBackCommand
{
get
{
if (_RegisterBack == null)
{
_RegisterBack = new RelayCommand(
param => Back()
);
}
return _RegisterBack;
}
}
public void Back()
{
Application.Current.MainWindow.Show();
//I Want to Hide the Regis here, but i cant use the Instance from above.
}
MyViewModel:
OpenRegistrierungsGUI RegisGUI = new OpenRegistrierungsGUI();
public ICommand RegisBack
{
get => RegisGUI.RegisBackCommand;
set => RegisBack = RegisGUI.RegisBackCommand;
}
Open() 方法也是如此。
我想要的结果只是注册窗口隐藏并且登录窗口显示出来。
【问题讨论】: