棱镜6添加验证LoginWindow和Mainwindow

时间:2017-05-26 08:51:55

标签: c# wpf mvvm prism prism-6

我用Prism 6创建了WPF C#项目,

和我的项目基于

https://github.com/PrismLibrary/Prism-Samples-Wpf/tree/master/17-BasicRegionNavigation

我想添加身份验证 :),只需简单登录退出 ...

我有MainWindowLoginView(两个Windows都有) 我的Bootstraper.cs

 class Bootstrapper : UnityBootstrapper
{
    protected override DependencyObject CreateShell()
    {
        //return Container.Resolve<MainWindow>();

            return Container.Resolve<LoginWindow>();
    }


    protected override void InitializeShell()
    {

        Application.Current.MainWindow.Show();

    }

    protected override void ConfigureModuleCatalog()
    {
        var catalog = (ModuleCatalog)ModuleCatalog;
        catalog.AddModule(typeof(ModuleInitializer));

    }
}

和我的LoginView登录按钮:

如果还有另一种方法来处理MVVM中的身份验证?

    private void Login_Button_Click(object sender, RoutedEventArgs e)
{
    Application.Current.MainWindow.Show();
    this.Close();

}

1 个答案:

答案 0 :(得分:1)

不要这样做。您的登录对话框不是您的Shell。您只需在调用App.Current.MainWindow.Show之前显示“登录”对话框即可。如果他们成功登录,则显示shell,如果他们不做其他事情。不要这么想。