Microsoft’s article (http://msdn.microsoft.com/en-us/library/windows/apps/hh994639.aspx) states that you can create an extended splash screen page during which you can create your MainPage and then navigate to it once loaded.
The only problem is that the Loaded event of a page will never trigger until the page to the the Window.Current.Content property.
Does anyone have a solution for this? – My MainPage has a fairly large amount of XAML and takes a while to load on lower end devices.
By default the app has a Frame control at its visual root. You can modify it for example by putting your own UserControl in there (I usually call it AppShell) which has the Frame used by all pages, you can have a layer for popups, log in screens etc. or the extended splash screen.
To solve your problem – just put both the Frame and the extended splash control in a Grid and only navigate to your first page after the extended splash control is loaded. Then everything else should be simple.