In this example I have used Prism to dynamically load xap files in the background after the initial landing page has loaded.
Here’s the same page with the Prism xap loader log switched on and configured to output to the screen. You can see messages updating the developer on the sequence of operations such as the creation of the Unity container and tracking for each of the separate xap modules throughout their download and initialisation.
The application shell or display is broken down into three areas:
Containing the Company/Product name along with some user buttons for comments, settings, user details, log out and help. This header is initially collapsed for the login screen and is made visible once the user successfully logs in.
Main content pane
In the example below the charts section has been selected from the main menu and displayed.
The footer contains the main menu to allow the user to load the content pane with various areas of functionality. This section is also initially collapsed until the user has logged in.
Note in the screenshot below the logger output to screen has been switched off.
Each of the menu options is broken out into it’s own Xap file (separate Silverlight project) and can have their entry point / initial view loaded into the content pane via the messaging architecture. Event the menu itself is a xap file that is loaded asynchronously whilst the user is preparing to login.
You can download the source for this code here: