Wpf 如何使用Caliburn Micro显示启动屏幕

Wpf 如何使用Caliburn Micro显示启动屏幕,wpf,caliburn.micro,Wpf,Caliburn.micro,我正在使用Caliburn Micro v1.3和WPF。我想在我的应用程序加载时显示启动屏幕 我已经覆盖了OnStartup,如下所示,但看不到如何在base.OnStartup完成时关闭我的启动 protected override void OnStartup(object sender, System.Windows.StartupEventArgs e) { var wm = new WindowManager(); var vm = n

我正在使用Caliburn Micro v1.3和WPF。我想在我的应用程序加载时显示启动屏幕

我已经覆盖了OnStartup,如下所示,但看不到如何在base.OnStartup完成时关闭我的启动

    protected override void OnStartup(object sender, System.Windows.StartupEventArgs e)
    {
        var wm = new WindowManager();
        var vm = new StatusReporterViewModel("TEST", "information", null);

        try
        {
            wm.ShowWindow(vm);

            base.OnStartup(sender, e);

        }
        finally            
        {
            vm.TryClose();
        }

    }
有什么想法吗

干杯


Steve

如果您想使用默认的WPF启动机制,那么它不需要代码

将图像文件添加到WPF.EXE项目,然后将图像的属性设置为“SplashScreen”


如果您的启动屏幕是一个实际的自定义窗口,您可以使用ShellViewModel的OnInitialize()方法关闭启动屏幕(或者如果没有shell,则关闭第一个激活的视图模型)。要在Shell中获取对SplashScreen的引用,要么将其注入,要么将其设置为一个单例(singleton)

看起来是一个很好的解决方案,但不起作用。我遇到无法定位资源错误。可能是卡利本造成的。