How does SL Navigation and Prism Navigation come together?

Topics: Prism v2 - Silverlight 2
May 23, 2009 at 11:40 PM

In Silverlight 3 we have the new Navigation system which allows to create multiple page and use the Navigation service to load pages into a Frame container.

Now I'm reading the Prism 2 docs and looking at the diagrams, I see a similare concept where you have Regions (as Frame in SL) and then you have Views (as Pages in SL) where Prism framework allows us to fill these views into regions.

My question is,
a) Are these two systems complimentary to each other? If yes, can you explain how?
c) Are these two systems contradictory to each other? If yes, which one to use in SL3?
c) Are these two systems independent from each other? If yes, How does Prism Navigation fit into SL3 Navigation?

My other question is, is the team working on Prism [3] for SL3?

Thank you in advance and looking forward to being able to run Prism with SL3.

May 26, 2009 at 7:31 PM
Edited May 26, 2009 at 7:32 PM

Hi Ben,


I will try to provide answers to your questions separately.


About Navigation

The Navigation from SL 3 and UI Composition from Prism-v2 “systems” are independent. I will not explain a lot about SL3 navigation, since I am no expert in such topic but will provide some links that might be useful:

·         Silverlight 3: Navigation URI Routing

·         A guide to Silverlight 3 new features

·         NAVIGATION FRAMEWORK (video)


Have in mind that Prism-v2 does not specifically target navigation (neither in WPF nor Silverlight), and it was released before the Silverlight 3 Beta release. I will explain how regions and Views are used in Prism-v2.


UI Composition consists in composing the user interface with views from different modules. To configure the UI’s layout, placeholders for views (named Regions in Prism) are used. At runtime, regions are populated with views to compose the UI.  Although the concepts of Frame and Region could sound similar, and Navigation could be implemented using Regions, they serve different purposes as navigation is meant to ease transition between views.


Silverlight 3 Navigation can be used with Prism-v2, but with some limitations. Mariano Converti and I have tried it, so you can read about that in the following links:

·         How To: Integrate a Prism v2 application with the Silverlight 3 Navigation Framework

·         Prism 2 & Silverlight 3 Beta Navigation


The following links might be useful to better understand UI Composition:

·         UI Composition

·         Shell and View

·         How to: Add a Region

·         How to: Show a View in a Region Using View Discovery UI Composition

·         How to: Show a View in a Region Using View Injection UI Composition


About Prism v-Next

The following post has some information about future versions of Prism:

·         Mix 09! by David Hill (p&p Architect)


Quote from that post: “We're planning the next release of Prism which will target Silverlight 3.0 (and WPF 4.0)…”


Please let me know if this helps.


Damian Schenkelman

May 26, 2009 at 8:32 PM

Thank you Damian for the generous answer!