I'm new to CM and mostly loving it. I have but one gripe so far: I don't know how to use the Conductor/Screen architecture to show a progress-updating splash screen. I'm sure I'm just looking at the problem the wrong way.
Yes, I have read all the previous posts on how to orchestrate a Splash Screen in CM. None of them have resolved in a way that I consider "good guidance."
For me this is necessary only because I want to update a label on my splash image as my application loads, to give users some feedback as it is doing so. It is a large application and the startup process involves some asynchronous calls as well as some synchronous build-up logic, and I'd like the user to be informed as it progresses. It's a usability issue more than anything and if all else fails I can just show a splash image.
Though CM has simplified many things, it's not clear to me how to implement the informative splash screen idiom in a canonical way that doesn't feel like scratching my left ear with my right hand.
So here are my requirements:
Yes, I have read all the previous posts on how to orchestrate a Splash Screen in CM. None of them have resolved in a way that I consider "good guidance."
For me this is necessary only because I want to update a label on my splash image as my application loads, to give users some feedback as it is doing so. It is a large application and the startup process involves some asynchronous calls as well as some synchronous build-up logic, and I'd like the user to be informed as it progresses. It's a usability issue more than anything and if all else fails I can just show a splash image.
Though CM has simplified many things, it's not clear to me how to implement the informative splash screen idiom in a canonical way that doesn't feel like scratching my left ear with my right hand.
So here are my requirements:
-
As the application bootstrapper starts loading, it displays a splash screen, which can receive notification messages as the shell view model is loaded (hence it depends on IEventAggregator). It consists of a background image and a label which overlays a conspicuously blank part of the image. Initially this label says "Loading...".
-
As it is loading the ShellViewModel fires text messages about its progress that the splash screen displays.
-
When the application loading is nearly complete the ShellView appears behind it and the SplashScreen is dismissed.