Empower Your XAML Applications

Leverage the power of the Prism Library to build robust and maintainable WPF, Uno Platform, .NET MAUI and Xamarin.Forms applications with ease.

App screenshot

Features

These features make Prism an ideal choice for developers building complex and scalable applications across various XAML platforms, offering tools and patterns that address many common challenges in application development.

MVVM Support
Prism provides full support for the MVVM (Model-View-ViewModel) pattern, helping developers to separate the application's logic from its UI, which enhances testability and maintainability.
Dependency Injection (DI)
Prism integrates seamlessly with popular DI containers, allowing for easy registration and resolution of dependencies, which simplifies the management of object lifetimes and promotes a modular architecture.
Event Aggregator
A lightweight event management system that allows different components of the application to communicate with each other without having direct references, facilitating the development of loosely coupled components.
Commanding
Prism enhances the commanding capabilities of XAML applications by providing composite commands and delegating commands, which help to encapsulate application logic that can be bound to UI elements.
Navigation
Prism offers a flexible and easy-to-use navigation framework that supports complex navigation scenarios, including deep linking, parameter passing, and more, while maintaining a decoupled architecture.
Modularity
With Prism, applications can be divided into manageable modules that can be developed, tested, and deployed independently. Prism's modularity support includes dynamic module loading and dependency management.
Region Management
Prism introduces the concept of regions, which are placeholders in the UI where views can be dynamically injected. This supports complex layouts and dynamic UI compositions.
ViewModel Locator
Automates the binding between a View and its ViewModel, reducing boilerplate code and making it easier to maintain the MVVM pattern throughout the application.
Template Packs and Code Snippets
Prism provides a set of Visual Studio templates and code snippets that accelerate the development process by generating boilerplate code for common tasks, such as creating new views, viewmodels, and modules.

Pricing

Choose the perfect plan tailored to your business needs. Whether you're a budding startup or a thriving enterprise, we offer pricing options that align with your company's growth and budget.

Community

FREE*

per year / per developerBuy Now
  • Install vis NuGet.org
  • Unlimited Deployment

Commercial Plus

Best Value

$499

per year / per developerBuy Now
  • Commercial App Development
  • Install via NuGet.org
  • Install via Private NuGet Feed
  • Access to CI Builds
  • More Frequent Updates
  • Prism.Plugin.Popups
  • Prism.Essentials (in Beta)
  • Additional Containers
  • Access to Discord
  • Prism.Magician (coming soon)
  • Visual Studio Extensions (coming soon)

Commercial

$299

per year / per developerBuy Now
  • Commercial App Development
  • Install vis NuGet.org
  • Unlimited Deployment

*Companies and individuals with less than $1 million USD in annual gross revenue, or have never received more than $3 million USD in capital from an outside source, such as private equity or venture capital, are eligible for the Community License.

Meet our team

We’re a dynamic group of individuals who are passionate about what we do.

Learn

Watch these Pluralsight courses and learn how to master Prism.

Introduction to Prism for WPF

In this course you'll learn the foundational knowledge required to design and build composite WPF desktop applications using Prism.

Mastering the TabControl

This course focuses on using the TabControl as a region, and shows advanced navigation scenarios such as scoped regions.

Showing Multiple Shells

This course will solve one of the more complex issues around controlling view composition when dealing with multiple instances of a shell as well as child views.

Loading Dependent Views

This course will show you how to navigate a view into one region, while simultaneously navigating another related view into a different region of the same view.

Loading Modules Based on User Roles

This course will address a major concern with Prism developers regarding security and answer the question, "How do I load modules based on user roles?"