Windows Presentation Foundation (or WPF) is a graphical subsystem by Microsoft for rendering user interfaces in Windows-based applications with visually stunning user experiences.
- WPF, previously known as Avalon was initially released as part of .NET Framework 3.0 in 2006, and it uses DirectX.
- WPF attempts to provide a consistent programming model for building applications and separates the user interface from business logic.
- It resembles similar XML-oriented object models, such as those implemented in XUL and SVG.
There are a lot of libraries available which can enhance, extend, and improve the functionality of WPF.
In this article, we will discuss the top 10 WPF libraries, or you can say the most useful libraries which are used in 2017.
The goal of MahApps.Metro is to allow devs to quickly and easily cobble together a "Metro" or "Modern UI" for their WPF4+ apps, with minimal effort.
This framework is free and can be used for free, open source and commercial applications.
For further details, you can visit http://mahapps.com/
2. Extended.Wpf.Toolkit By xceed
- Extended WPF Toolkit is the number one collection of WPF controls, components, and utilities for creating next-generation Windows applications.
- Use it to build professional looking, modern, and easy to use WPF applications.
- Provides 48 controls, all offered under the Microsoft Public License for maximum freedom.
For further details, you can visit https://github.com/xceedsoftware/wpftoolkit
3. Prism.Wpf By brianlagunas
Prism.Wpf helps you more easily design and build rich, flexible, and easy to maintain Windows Presentation Foundation (WPF) desktop applications. This library provides user interface composition as well as modularity support.
Prism provides an implementation of a collection of design patterns that are helpful in writing well structured and maintainable XAML applications, including MVVM, dependency injection, commanding, event aggregation, and more.
For further details, you can visit http://prismlibrary.github.io/
4. MvvmCross By MvvmCross
MvvmCross is a cross-platform MVVM framework. It enables developers to create apps using the MVVM pattern on Xamarin.iOS, Xamarin.Android, Xamarin.Mac, Xamarin.Forms, Universal Windows Platform (UWP) and Windows Presentation Framework (WPF).
MvvmCross is extendable by you. We strive to let as much code be configurable and overridable, to let the developer decide how they want to use the framework. However, the framework is very usable without doing anything.
For further details, you can visit https://github.com/MvvmCross/MvvmCross
5. Caliburn.Micro By eisenbergeffect
- Caliburn.Micro is a small, yet powerful framework designed for Xaml platforms, it implements a variety of UI patterns for solving real-world problems.
- Patterns that are highlighted include MVVM (Presentation Model), MVP and MVC.
- Its strong support for MV* patterns will enable you to build your solution quickly, without the need to sacrifice code quality or testability.
For further details, you can visit https://caliburnmicro.com/
6. MaterialDesignThemes By ButchersBoy
Comprehensive and easy to use Material Design theme and control library for the Windows desktop. With Material Design In XAML Toolkit, you can easily bring beautiful desktop applications to life, using a modern and popular design language. Entirely open source and one of the most popular GUI libraries for WPF, the library is also compatible with MahApps and Dragablz.
- Styles and variations for the majority of standard WPF controls
- Many more additional controls to support the Material Design aesthetic and flow
- Easy configuration of Material Design Colour palettes at both design and run time
- Transitions API for easy build GUI animations
- Works stand-alone, and also compatible with other popular WPF frameworks, MahApps and Dragablz
- MVVM framework agnostic
For further details, you can visit http://materialdesigninxaml.net/
7. CefSharp.Wpf By perlun
CefSharp lets you embed Chromium in .NET apps. It is a lightweight .NET wrapper around the Chromium Embedded Framework (CEF) by Marshall A. Greenblatt. About 30% of the bindings are written in C++/CLI with the majority of code here is C#. It can be used from C# or VB, or any other CLR language. CefSharp provides both WPF and WinForms web browser control implementations.
For further details, you can visit https://github.com/cefsharp/cefsharp
8. OxyPlot.Wpf By objo
OxyPlot is a cross-platform plotting library for .NET. Custom controls are implemented for WPF, Windows 8, Windows Phone, Windows Phone Silverlight, Windows Forms, Silverlight, GTK#, Xwt, Xamarin.iOS, Xamarin.Android, Xamarin.Forms and Xamarin.Mac.
- OxyPlot contains many different types of axes and series. If you need some functionality that is not included in the library, you can also create a derived class and override the rendering implementation.
- The plots can be exported to file formats like png, pdf, and svg.
For further details, you can visit http://www.oxyplot.org/
9. ReactiveUI By xpaulbettsx
- A MVVM framework that integrates with the Reactive Extensions for .NET to create elegant, testable User Interfaces that run on any mobile or desktop platform.
- Supports Xamarin.iOS, Xamarin.Android, Xamarin.Mac, Xamarin Forms, WPF, Windows Forms, Windows Phone 8.1, Windows Store and Universal Windows Platform (UWP).
For further details, you can visit https://reactiveui.net/
10. Dragablz By ButchersBoy
Dragablz is an open source Chrome style draggable & tearable tab for WPF. Dragablz also makes user-friendly docking and tool windows achievable very quickly.
For further details, you can visit https://dragablz.net/