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.

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.
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.
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?"