and wire-up of the MVVM classes.
Chapter 7, "Composing the User Interface". Regions are placeholders that allow a developer to specify where
views will be displayed in the application's UI. In Prism, there are two approaches to displaying views in a region:
view discovery and view injection. This chapter describes how to work with regions and the UI. It also includes
information for UI designers to understand composite applications.
Chapter 8, "Navigation." Navigation is the process by which the application coordinates changes to its UI as a
result of the user's interaction with the application or internal application state changes. This chapter provides
guidance on implementing state-based navigation, where the state of the UI in a view is updated to reflect
navigation, and view-switching navigation, where a new view is created and displayed in a region.
Chapter 9, "Communicating Between Loosely Coupled Components." This chapter discusses the various options
for communicating between components in different modules, using commanding, the EventAggregator, region
context, and shared services.
Chapter 10, "Sharing Code Between Silverlight and WPF." Multi-targeted code is targeting two different platforms
with largely the same code base. In this case, the technologies that this topic describes are WPF and Silverlight.
This chapter helps you understand what multi-targeting is and its advantages and disadvantages. Prism provides
the Project Linker tool to help you to automatically create and maintain links from a source project to a target
project to share code that is common between Silverlight and WPF.
Chapter 11, "Deploying Prism Applications." This chapter addresses deployment considerations for Prism WPF and
Silverlight applications.
Appendix A, "Glossary." This appendix provides a concise summary of the terms, concepts, design patterns and
capabilities provided by Prism.
Appendix B, "Patterns in the Prism Library." This appendix describes the software design patterns applied in the
Prism Library and the Stock Trader RI. This topic primarily targets architects and developers wanting to
familiarize themselves with the patterns used to address the challenges in building composite applications.
Appendix C, "Prism Library." This appendix provides an overview of the Prism Library.
The following topics are included with the source code and online:
Appendix D, "Upgrading from Previous Versions."This appendix discusses what you need to know if you are
upgrading from previous versions of Prism.
Appendix E, "Extending Prism." This appendix discusses how you can extend Prism modularity, behaviors, and
navigation.
Appendix F, "Reference Implementations." This appendix describes the reference implementations included with
Prism. For more information, see the section "Exploring the Reference Implementations."
Appendix G, "QuickStarts." Prism includes the source code for several QuickStarts that demonstrate key
concepts. For more information, see the next section, "Exploring the QuickStarts."
Appendix H, "Prism Hands-On Labs." The hands-on labs demonstrate building a simple composite application,
step-by-step, in WPF and Silverlight. This appendix primarily targets developers who want to understand the
basic concepts of the Prism Library. It also includes a deployment hands-on lab for publishing and updating a
Prism WPF application with ClickOnce.
Exploring the QuickStarts
The QuickStarts are small, focused applications that illustrate specific Prism-related concepts. QuickStarts are an ideal
starting point if you want to gain an understanding of a key concept and you are comfortable learning new techniques
by examining source code. Prism includes the following QuickStarts:
Modularity QuickStarts for WPF and Modularity QuickStarts for Silverlight. These QuickStarts demonstrate how to
build WPF and Silverlight applications composed of modules. The modules can be statically loaded, when the shell
contains a reference to the module's assembly, or dynamically loaded, when modules are dynamically discovered
and loaded at run time. The QuickStarts demonstrate using the Unity container and MEF.
Basic MVVM QuickStart and MVVM QuickStart. The Basic MVVM QuickStart demonstrates how to build a very
simple application that implements the MVVM presentation pattern. The MVVM QuickStart demonstrates how to
build an application that implements the MVVM presentation pattern, showing some of the more common
challenges that developers can face, such as validation, UI interactions, and data templates.
UI Composition QuickStart. This QuickStart demonstrates how to build WPF and Silverlight UIs composed of
different views that are dynamically loaded into regions and that interact with each other in a decoupled way. It
illustrates how to use both the view discovery and view injection approaches for UI composition.
State-Based Navigation QuickStart. This QuickStart demonstrates an approach to define the navigation of a
simple application. The approach used in this QuickStart uses the Silverlight Visual State Manager (VSM) to
define the different states that the application has and defines animations for both the states and the
transitions between states.
View-Switching Navigation QuickStart. This QuickStart demonstrates how to use the Prism Region Navigation
API. The QuickStart shows multiple navigation scenarios, including navigating to a view in a region, navigating to
a view in a region contained in another view (nested navigation), navigation journal support, just-in-time view
creation, passing contextual information when navigating to a view, views and view models participating in
navigation, and using navigation as part of an application built through modularity and UI composition.
Page 18