I'll try to answer you questions in order:
1. Based on my understanding the Application_Startup method in
App.xaml.cs, defined in the main project (in this case UIComposition.Shell
project) is the one that creates and runs the QuickStart's bootstrapper as you mentioned. Hence, I believe you may be lookind at the
App.xaml file of the module project which is not used for this.
2. This functionality is achieved by benefiting from the use of a dependency injection container. As you might find in the applications bootstraper,
CreateShell method the ShellView class is resolved from the application's container, in this case
Unity. When resolving a type from the container, this will also resolve the parameters defined in its constructor (e.g.
If you are interested on how the Unity container works, I believe you could check the following resources:
Also, for more information about the approaches used in the UI Composition Quickstart
to compose its UI, you could check the following chapters of the
3. Based on my understanding, this definition is used to define the specific location of your
ModuleCatalog, as far as I know when creating a Silverlight
application defining this will be necesary, as your relative path will be pointing to the top level of the
XAP file and not the project where your ModuleCatalog resides. Perhaps, the examples you have seen were
WPF applications and the module catalog in this applications were defined in its startup project, hence just defining the module's catalog name in the
URI was enough.
I hope you find this helpful,