Share via

Prism 4.1 - Developer's Guide to Microsoft Prism Library for WPF and Silverlight

patterns & practices Developer CenterDownload Prism 4.1 documentationDownload Prism 4.1 NuGet packagesDownload Prism 4.1 source codeOther Prism releases

From: Developer's Guide to Microsoft Prism Library 5.0 for WPF

patterns & practices Developer Center



Prism provides guidance designed to help you more easily design and build rich, flexible, and easily maintained Windows Presentation Foundation (WPF) desktop applications, Silverlight Rich Internet Applications (RIAs), and Windows Phone 7 applications. Using design patterns that embody important architectural design principles, such as separation of concerns and loose coupling, Prism helps you to design and build applications using loosely coupled components that can evolve independently but which can be easily and seamlessly integrated into the overall application. These types of applications are known as composite applications.

Intended Audience

Prism is intended for software developers building WPF or Silverlight applications that typically feature multiple screens, rich user interaction and data visualization, and that embody significant presentation and business logic. These applications typically interact with a number of back-end systems and services and, using a layered architecture, may be physically deployed across multiple tiers. It is expected that the application will evolve significantly over its lifetime in response to new requirements and business opportunities. In short, these applications are "built to last" and "built for change." If your application does not need to last or need to change, then you may not benefit from using Prism.

Note: Even single-person projects can realize the benefits by creating more testable and maintainable applications that can evolve over time using the modular approach**.**

Architectural Goals

The guidance is designed to help architects and developers achieve the following objectives:

  • Create an application from modules that can be built, assembled and, optionally, deployed by independent teams using WPF or Silverlight.
  • Minimize cross-team dependencies and allow teams to specialize in different areas, such as user interface (UI) design, business logic implementation, and infrastructure code development.
  • Use an architecture that promotes reusability across independent teams.
  • Increase the quality of applications by abstracting common services that are available to all the teams.
  • Incrementally integrate new capabilities.

System Requirements

This guidance was designed to run on the Microsoft Windows 7, Windows Vista, or Windows Server 2008 operating systems. This version has been smoke tested on Windows XP Professional and Windows Server 2003, but it has not been exhaustively tested. WPF applications built using this guidance require the .NET Framework 4.0, and Silverlight applications require Silverlight 5.

Before you can use the Prism Library, the following must be installed:


If you want to download the Prism 4.0 – November 2010 release to use with .NET Framework 4.0, Visual Studio 2010, Silverlight 4.0, and Windows Phone 7, go here for the Prism 4.0 Download. The documentation did not change between Prism 4.0 – November 2010 and Prism 4.1 – February 2012.


Although the Silverlight Tools for Visual Studio 2010 are not required, it is recommended that all WPF and Silverlight developers download and use the latest version of the Silverlight Tools for Visual Studio 2010. The WPF and Silverlight Designer for Visual Studio is updated together with the Silverlight developer runtime and SDK. These updates come in the form of new features and bug fixes.

If you are authoring WPF and Silverlight projects that share code, you may want to read Sharing Code Between WPF and Silverlight, and install the Project Linker 2.2 tool.


The following table contains Prism download links to help you get started with Prism.


Prism 4.1 (includes Prism 4.1 source code, binaries, documentation in CHM format, Reference Implementations, QuickStarts, and Hands-on Labs in C#) for the .NET Framework 4.0 and Silverlight 5.

Prism 4.0 (includes Prism 4.0 source code, binaries, documentation in .chm format, Reference Implementations, QuickStarts, and Hands-on Labs in C#) for the .NET Framework 4.0 and Silverlight 4.

Developer's Guide to Microsoft Prism 4 on MSDN.

Developer's Guide to Microsoft Prism 4 in printed book and eBook formats.

Prism NuGet Packages

Developer's Guide to Microsoft Prism 4 in .pdf format

Visual Basic Prism 4 Reference Implementations, QuickStarts, and Hands-on Labs

Getting Started

Prism 4.1 ReadMe (includes installation instructions).


What's New in Prism 4


Order book

Buy book


Updgrading from Prism 2.x

Upgrading from the Composite Application Guidance for WPF

Upgrading from the Composite UI Application Block

Related Download

ManifestManagerUtility for ClickOnce.

Publishing and Updating Applications Using the Prism Library Hands-on Lab

MVVM Training

Community Feedback and Support

Prism CodePlex Community Site


End User Licensing Agreement (EULA)

Guidance Assets


The documentation for Prism 4 has been completely rewritten and includes the architectural overview, design, and technical concepts for composite applications, applied patterns, two chapters covering Model-View-ViewModel (MVVM), application navigation, Stock Trader Reference Implementation (Stock Trader RI) and MVVM Reference Implementation (MVVM RI) overview, QuickStart overviews, and deployment topics. Much of this guidance is applicable even if you are not using the Prism Library, but you want to know best practices for creating composite applications.

Prism Library

The Prism Library ships as Microsoft signed binaries and source code.

Developers can use the Prism Library to develop WPF or Silverlight applications that are composed of independent and collaborating modules. The library includes extensions to support the integration of the Unity Application Block (Unity) and Managed Extensibility Framework (MEF).

Stock Trader Reference Implementation (Stock Trader RI)

This application illustrates the baseline Prism architecture. Within the application, you will see solutions for common, and recurrent, challenges that developers face when creating composite applications. The reference implementation is not a real-world application; however, it is based on real-world challenges customers are facing. When you look at this application, do not look at it as a reference point for building a stock trader application; instead, look at is as a reference for building a composite application.

MVVM Reference Implementation


This MVVM RI demonstrates how to build an application that implements the MVVM pattern and shows how to address some advanced challenges that you might face when using this pattern.


These include the source code for several small, focused applications that illustrate user interface (UI) composition, modularity, commanding, event aggregation, and multi-targeting applications between WPF and Silverlight. The Getting Started Hands-On Labs provide step-by-step instructions for creating your first application using the Composite Application Library in WPF or Silverlight.

Feedback and Support

To provide feedback about this deliverable, or to get help with any problems, visit the online Community site at CodePlex.

Prism is designed to be reused, customized, and extended. It is not a Microsoft product. Code-based guidance is shipped "as is" and without warranties. Customers can obtain support through Microsoft Support Services for a fee, but the code is considered user-written.

Future Plans

The next release of Prism is planned for the summer or fall of 2012. To provide feedback, please create and vote on work items in the CodePlex issue tracker.

Related Titles

Prism Team Blogs

Stay informed and up to date about Prism and patterns & practices.


Blogs and Home Pages


Blaine Wastell


Francis Cheung

patterns & practices


Authors and Contributors

Prism was produced by the following individuals:

patterns & practices Team:

Microsoft Corporation

Blaine Wastell, Bob Brumfield, David Hill, Karl Shifflett, Larry Brader, Michael Puleio, Nelly Delgado

Clarius Consulting

Fernando Simonazzi

Infosys Technologies Ltd

Mani Krishnaswami, Meenakshi Krishnamoorthi, Rathi Velusamy, Ravindra Varman, Sangeetha Manickam, Sanghamitra Chilla

Software Insight

Brian Noyes

Southworks SRL

Diego Poza, Fernando Antivero, Geoff Cox, Matias Bonaventura

TinaTech, Inc.

Tina Burden

Modeled Computation

Sharon Smith, Katie Niemer

Many thanks to the following advisors who provided invaluable assistance:

Bill Wilder of Fidelity Investments, Clifford Tiltman of Morgan Stanley, Rob Eisenberg of Blue Spire, Norman Headlam, Ward Bell of IdeaBlade, Paul Jackson of CM Group Ltd., John Papa of Microsoft, Julian Dominguez of Clarius Consulting, Ted Neveln of Ballard Indexing Services, Glenn Block of Microsoft, Michael Kenyon of IHS, Inc., Terry Young of PEER Group, Jason Beres of Infragistics, Peter Lindes of The Church of Jesus Christ of Latter-day Saints, Mark Tucker of Neudesic, LLC, David Platt of Rolling Thunder Computing, Steve Gentile of Strategic Data Systems, Markus Egger of EPS Software Corp. and CODE Magazine, Ryan Cromwell of Strategic Data Systems, Todd Neal of McKesson Corp, Dipesh Patel of Fidelity Investments, and David Poll of Microsoft.

Previous Topic | Home | Community