0

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

我的项目基于

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

我想为其添加身份验证:),只需简单的登录注销...

我有MainWindowLoginView(两个窗口)我的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();

}
4

1 回答 1

1

不要这样做。您的登录对话框不是您的 Shell。您所要做的就是在调用 App.Current.MainWindow.Show 之前显示登录对话框。如果他们成功登录,则显示 shell,如果他们没有,则执行其他操作。不要想太多。

于 2017-05-26T14:51:38.677 回答