Prism WPF 登录 Window 关闭
Prism WPF Login Window Close
我正在使用 prism,我正在尝试在登录成功后关闭登录 window 并显示主要 window。我在下面找到了 link 以了解如何做到这一点,我对其进行了更改以使其与棱镜一起使用。
https://www.codeproject.com/Questions/581554/WPFplusLoginplusinplusMVVMplusIssue
当登录匹配时,视图模型会触发一个事件。
我的登录 window 实际上在登录成功后就关闭了,但是主 window 没有出现。
这是我的代码
App.xaml.cs
public partial class App : Application
{
protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);
var login = new Login();
var loginVM = new LoginViewModel();
loginVM.LoginCompleted += (sender, args) =>
{
var bootstrapper = new Bootstrapper();
bootstrapper.Run();
login.Close();
};
login.DataContext = loginVM;
login.ShowDialog();
}
}
Bootstrapper.cs
class Bootstrapper : AutofacBootstrapper
{
protected override DependencyObject CreateShell()
{
return Container.Resolve<MainWindow>();
}
protected override void InitializeShell()
{
Application.Current.MainWindow.Show();
}
}
我试过同样的方法。它正在按照预期工作。
我做的是
App.xaml.cs
protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);
var bootstrapper = new Bootstrapper();
bootstrapper.Run();
}
引导程序
class Bootstrapper : AutofacBootstrapper
{
protected override DependencyObject CreateShell()
{
return Container.Resolve<MainWindow>();
}
public override void Run(bool runWithDefaultConfiguration)
{
base.Run(true);
AutoMapperConfiguration.Configure();
}
protected override void InitializeShell()
{
var login = new Views.Login.LoginView();
var loginVM = new LoginViewModel();
loginVM.LoginCompleted += (sender, args) =>
{
Application.Current.MainWindow.Show();
login.Close();
};
login.DataContext = loginVM;
login.ShowDialog();
}
}
我正在使用 prism,我正在尝试在登录成功后关闭登录 window 并显示主要 window。我在下面找到了 link 以了解如何做到这一点,我对其进行了更改以使其与棱镜一起使用。
https://www.codeproject.com/Questions/581554/WPFplusLoginplusinplusMVVMplusIssue
当登录匹配时,视图模型会触发一个事件。
我的登录 window 实际上在登录成功后就关闭了,但是主 window 没有出现。
这是我的代码
App.xaml.cs
public partial class App : Application
{
protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);
var login = new Login();
var loginVM = new LoginViewModel();
loginVM.LoginCompleted += (sender, args) =>
{
var bootstrapper = new Bootstrapper();
bootstrapper.Run();
login.Close();
};
login.DataContext = loginVM;
login.ShowDialog();
}
}
Bootstrapper.cs
class Bootstrapper : AutofacBootstrapper
{
protected override DependencyObject CreateShell()
{
return Container.Resolve<MainWindow>();
}
protected override void InitializeShell()
{
Application.Current.MainWindow.Show();
}
}
我试过同样的方法。它正在按照预期工作。
我做的是
App.xaml.cs
protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);
var bootstrapper = new Bootstrapper();
bootstrapper.Run();
}
引导程序
class Bootstrapper : AutofacBootstrapper
{
protected override DependencyObject CreateShell()
{
return Container.Resolve<MainWindow>();
}
public override void Run(bool runWithDefaultConfiguration)
{
base.Run(true);
AutoMapperConfiguration.Configure();
}
protected override void InitializeShell()
{
var login = new Views.Login.LoginView();
var loginVM = new LoginViewModel();
loginVM.LoginCompleted += (sender, args) =>
{
Application.Current.MainWindow.Show();
login.Close();
};
login.DataContext = loginVM;
login.ShowDialog();
}
}