gpt4 book ai didi

wpf - 如何使用 Caliburn Micro 控制 WPF 应用程序中的窗口流

转载 作者:行者123 更新时间:2023-12-04 13:53:23 27 4
gpt4 key购买 nike

我刚刚开始使用 Caliburn Micro 框架实现我的 WPF 应用程序(这是我第一次使用它)。

我已经配置了 AppBootstrapper class 并且一切正常(显示了我的主窗口),但现在我想实现我的应用程序更复杂的行为。一开始我只想显示一个启动画面(它将从服务加载一些数据)。之后我只想显示一个登录窗口,如果用户登录系统,我的主窗口应该显示。

换句话说,我想实现那种窗口流:

启动画面 -> 登录窗口 -> 主窗口

我试图实现类似 ShellController 的东西源自 Conductor<IScreen>.Collection.OneActiveConductor<IScreen> ,但我不知道如何在没有 View for the Shell 的情况下做到这一点(它应该只是整个应用程序的 Controller )。

我的另一个想法是覆盖 DisplayRootView AppBootstrapper 中的方法并使用 IWindowManager显示窗口。这是好方法吗?

如果您提供任何帮助或建议,我将不胜感激。

最佳答案

是覆盖 DisplayRootView 并使用 IWindowManager 来显示不同的屏幕/ View 模型。

像这样的东西:

var windowManager = IoC.Get<IWindowManager>();
windowManger.ShowDialog(IoC.Get<SplashScreenViewModel>());
if(windowManger.ShowDialog(IoC.Get<LoginViewModel>()))
{
windowManger.ShowWindow(IoC.Get<ShellViewModel>());
}

关于wpf - 如何使用 Caliburn Micro 控制 WPF 应用程序中的窗口流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5802859/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com