Developer's Guide to Microsoft Prism Library 5.0 for WPF

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

patterns & practices Developer Center

April 2014

Prism provides guidance in the form of samples and documentation that help you easily design and build rich, flexible, and easily maintained Windows Presentation Foundation (WPF) desktop 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. In short, these applications are "built to last" and "built for change." These types of applications are known as composite applications.

This topic provides a brief overview of the Prism concepts with links to associated source code and documentation.**If you are considering upgrading from Prism 4.1 to Prism 5.0 we include a "What’s New" and "Upgrading from Prism 4.1" topic that you should read.

Note: For .NET 4.0, Silverlight, or Windows Phone 7.x applications use Prism 4.1.

Getting Started

Where to start depends on your goals and what you already know. Learn, Develop and Deploy Applications, and Upgrade from Prism 4.1 should help you understand if Prism makes sense in your application and how to get started.

Learn: If you are new to Prism, this is a good place to start. You should also read through the remaining content in this topic.

Develop and Deploy Applications: If you want to create a Prism Hello World application and deploy it then go through these topics. If you want to more fully understand how to utilize specific Prism capabilities in your application then read the content below.

Upgrade from Prism 4.1: Read the topics below so you can perform a cost benefit analysis of upgrading to Prism 5.0.

Introduction

Learn how to create a composite application from loosely coupled WPF components that can evolve independently using the Prism library.

Introduction

Download code:

More info:

Initializing Prism Applications

Learn how to get a Prism for Window Presentation Foundation (WPF) application up and running – bootstrapping the application.

Initializing Prism Applications

Download code:

More info:

Managing Dependencies Between Components

Create maintainable apps using dependency injection to manage components’ dependencies and lifetimes, facilitate testing, and wire views to view models.

Managing Dependencies Between Components

More info:

Modular Application Development

Learn how to create a loosely coupled modular application that is easier to develop, test, deploy, and extend.

Modular Application Development

Download code:

More info:

MVVM Pattern

Learn how the MVVM pattern makes your app easier to test, maintain, and evolve. It improves code re-use and allows developers and designers to collaborate. Learn how to use composite commands, handle asynchronous interactions, implement user interaction patterns, and wire views to view models using MVVM.

Implementing the MVVM Pattern

Download code:

More info:

Composing the User Interface

Learn how to compose your UI from loosely coupled WPF visual components for modular application. Create designer-friendly UIs with design time data.

Composing the User Interface

Download code:

More info:

Navigation

Learn how to navigate between views in composite WPF applications that use the MVVM pattern. Use either state-based or view-based navigation.

Navigation

Download code:

More info:

Communicating Between Loosely Coupled Components

Decide when to use the different loosely coupled communication mechanism works for your modular application: commands, region context, shared services, and event aggregation.

Communicating Between Loosely Coupled Components

Download code:

More info:

Deploying Prism Applications

Learn the deployment options for a composite WPF application – Xcopy, ClickOnce, and Windows Installer.

Deploying Prism Applications

More info:

Patterns in Prism

Learn the different patterns the Prism library and associated reference implementation demonstrate.

Patterns in the Prism Library

Download code:

More info:

Prism Library

Learn who the Prism library for WPF was developed for, how it is organized, how to modify the source, and how to run the associated tests.

Prism Library

Download code and binaries:

More info:

Upgrading from Prism 4.1

Learn how to upgrade your existing Prism 4.1 projects and solutions to Prism 5.0. This includes changes to references, namespaces, and APIs.

More info:

Extending the Prism Library

Learn how to modify Prism default behavior including bootstrapping, container, logging, modularity, regions, navigation, and view model locator.

More info:

License

What's Next

  • Prism Download: Download source or documentation, get links to the NuGet packages, or see the full content of this Prism release.
  • Introduction: Read the next topic in the Prism documentation.

Community

Prism's community sites are:

On these community sites, you can post questions, provide feedback, or connect with other users for sharing ideas.

Prism Team Blogs

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

Name

Blogs and Home Pages

Twitter

Blaine Wastell

https://blogs.msdn.com/b/blaine/

@blainewastell

Francis Cheung

https://blogs.msdn.com/b/francischeung/


patterns & practices

https://www.microsoft.com/practices

@mspnp

The Team Who Brought You This Guide

Prism was produced by the following individuals:

patterns & practices Team:

Microsoft Corporation

Blaine Wastell, Francis Cheung, Nelly Delgado, Rohit Sharma, RoAnn Corbisier

Southworks SRL

Diego Poza

Icertis Inc.

Poornimma Kaliappan

Contributors to the previous release of this guidance:

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, Brian Noyes of Solliance, Brian Lagunas of Infragistics, 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.

Next Topic | Community