WPF Community Projects

WPF Community Projects

If you do a quick search with WPF as the search query of GitHub, you get over 6K results. That shows the incredible community support WPF has been blessed with over the years. We wanted to take this opportunity to call out some of popular and upcoming open source projects from the community, to give them the due recognition they deserve. This by no means an exhaustive list, but features projects and authors that our team has been in touch with over time and they have consistently given us a lot of great feedback over the years. If you feel a particular project has been overlooked, do let us know in the comments and we will look into featuring it in a future update to the blog.

Material Design in XAML Toolkit

Created by James Willock, this is an awesome example of the community adapting non-Windows design concepts to fun useful themes for the platform. It already has 8k downloads, and did I mention? It works amazingly well with Dragablz and Mahapps (check the sample app in the repo). Excited, want to try it out? Check out the Get Started guide here.

[WPF Team]: What inspired you to build this?

[James]: As an enterprise developer with a love of UI I feel that desktop apps often fall behind mobile and web in the looks department, but XAML has all the tools you need to build great UIs so I gave Material Design a shot.  As soon as the first few templates were in place I knew the results were pretty good, and the early response from the community was encouraging so I pushed on to make a comprehensive library. 

Mahapps.metro

With over 300K downloads, this is super popular toolkit for creating metro-style WPF applications. Lots of goodness out-of-the box. Created by Paul Jenkins; Jake Ginnivan; Brendan Forster (shiftkey); Alex Mitchell (Amrykid); Dennis Daume (flagbug); Jan Karger (punker76) this enables WPF developers to add a metro flair to their app with very little effort. For more information, see here. If you are interested in contributing to the project, head to the GitHub repo. Some apps that are using this:-EsperaSimple Music Player , myEchoPapercutCarnacMarkdown EditChocolateyGUI. 

[WPF Team]: What inspired you to contribute to this?

[Jan]: MahApps.Metro is a project that Paul Jenkins started back in 2011 as a simple way to bring a Metro-style user interface into your WPF application. I started in 2012 with my first PR to fix an issue for MahApps. After some more PRs I was added to the core team. MahApps is not only for metro-styled apps it’s also possible to use it with 3rd party styling libs such Material Design in XAML & WPF, for C# & VB.Net

Universal WPF

Simply put, it is a set of WPF Controls ported from Windows Universal control concepts (RelativePanel, SplitView etc..). Created by Morten Nielsen this is a work in progress and he is looking for community support to build this out and make it awesome. This super exciting work and we hope the community is contributing and make it a great addition to the WPF ecosystem. Give it a try at the repo here.

[WPF Team]: What inspired you build this?

[Morten]: I love building controls – it’s probably my favorite part of developing. I also love the new RelativePanel control in Universal app – it allows you to create some nicely aligned set of controls and at the same time significantly reducing the size of your UI tree to achieve that layout. But it was missing from WPF which could get a lot of benefit from reducing the number of UI elements required in many some advanced layouts. At the same time, Custom Panel controls are quite challenging and a great way to really understand the layout system of XAML – the Measure and Arrange steps in particular, and the complexity of the RelativePanel simply sounded like a fun challenge. After publishing it requires for more controls came, so I’m currently working on the SplitView. Also the new Adaptive Triggers really makes SplitView and Relative Panel ‘tick’, so this is also something I’m working on adding as a future enhancement. So the bottom line as to why: Just some plain ol’ fun 🙂