20 Interesting WPF Projects on CodePlex (Some for Silverlight too)

Pete Brown - 22November2010

In no particular order, here's a selection of interesting and
recently maintained WPF projects I've found on CodePlex. This is by
no means a complete list, so if you have some favorites, please
mention them in the comments.

Application Frameworks and Guidance (MVVM, MVP etc.)

Prism provides guidance designed to help you more easily design
and build rich, flexible, and easy-to-maintain Windows Presentation
Foundation (WPF) desktop applications, Silverlight Rich Internet
Applications (RIAs), and Windows Phone 7 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 that can be easily and seamlessly
integrated into the overall application. These types of
applications are known as composite applications.

Prism includes reference implementations, QuickStarts, reusable
library code (the Prism Library), and extensive documentation. This
version of Prism targets the Microsoft .NET Framework 4.0 and
Silverlight 4 and includes new guidance around the
Model-View-ViewModel (MVVM) pattern, navigation, and the Managed
Extensibility Framework (MEF). Because Prism is built on the .NET
Framework 4.0 (which includes WPF) and Silverlight 4, familiarity
with these technologies is useful for evaluating and adopting
Prism.

A small, yet powerful implementation of Caliburn designed for
WPF, Silverlight and WP7. The framework implements a variety of UI
patterns for solving real-world problems. Patterns that are enabled
include MVC, MVP, Presentation Model (MVVM), and Application
Controller.

Designed to aid in the development of WPF and Silverlight
applications, Caliburn implements a variety of UI patterns for
solving real-world problems. Patterns that are enabled by the
framework include MVC, MVP, Presentation Model (MVVM), Commands and
Application Controller.

The MVVM Light Toolkit is a set of components helping people to
get started in the Model - View - ViewModel pattern in Silverlight
and WPF. It is a light and pragmatic framework that contains only
the essential components needed.

The WPF Application Framework (WAF) is a lightweight Framework
that helps you to create well structured WPF Applications. It
supports you in applying a Layered Architecture and the
Model-View-ViewModel (aka MVVM, M-V-VM, PresentationModel)
pattern.

AvalonDock is a WPF controls library which can be used to create
a docking layout system like that is present in VisualStudio. It
supports fly-out panes, floating windows, multiple docking manager
in same window, styles and themes and it can host WinForms
controls.

Controls and Toolkits

The Extended WPF Toolkit is a collection of WPF controls,
components and utilities made available outside the normal WPF Toolkit. It includes
controls that are missing from the WPF Toolkit, or that have been
ported over from the Silverlight Toolkit. It
also contains controls that I think are just nice to have.

Visifire is a set of open source data visualization components -
powered by Microsoft Silverlight and WPF. With Visifire you can
create and embed visually stunning animated Charts within minutes.
Visifire is easy to use and independent of the server side
technology.

Being able to render and interact with webpages within WPF opens
up some great opportunities. This project mixes Google's Chromium
project, a great wrapper called Awesomium and a little WPF 4.0
pixie dust...

This control provides a WPF interface for the Bing Maps 3D
control, complete with data binding for camera control and
WPF-based pushpins. All Win32 restrictions (air space control, no
rotation or visual brush) are eliminated. Microsoft Surface and Win
7 Touch are also supported.

Fluent Ribbon Control Suite is a library that implements an
Office-like (Microsoft® Office Fluent™ user interface) for the
Windows Presentation Foundation (WPF). It provides well-customized
controls such as RubbonTabControl, Backstage, Gallery,
QuickAccessToolbar, ScreenTip and so on. It is bundled with the
most up-to-date Office 2010 styles.

Validation Toolkit for WPF & Silverlight displays
automatically validation errors coming from both Data Annotations
on the View Model and Asynchronous calls to Web Services. The View
Model is wrapped into an object that supplies all needed interface
implementations.

Usually, writing custom graphical effects classes for WPF or
Silverlight requires some HLSL programming skills. For a .NET
programmer, learning this language may be sometimes long and
tricky. The Perspective FX framework aims to help you to build
custom effects classes without HLSL coding. It generates the HLSL
code and the .NET wrapper for WPF or Silverlight. It produces an
assembly that you can use in a WPF or Silverlight application.

I've been working on big line of business applications with rich UI for years. I still think it's to hard getting a nice scallable shell up and running without introducing to much complexity. And here I'm not only thinking from a developers point of view but also the user.

So with this in mind I've created http://shelllight.codeplex.com/

I'm using it for the first time on a project I'm working on at the moment and hope to proof that it is useful :)

I would like to have http://artefactanimator.codeplex.com/ Artefact up on your list as well. And while it would be easy to mention 20 MVVM projects, imo nRoute: http://nroute.codeplex.com/ is one of the absolutely most interesting and mature (got support for every xaml platform)

I know that you've already got quite a few great MVVM frameworks up there, but if you're using the Reactive Extensions for .NET, ReactiveXaml (http://github.com/xpaulbettsx/reactivexaml) has got a lot of interesting (imo) ideas in it that make writing concurrent apps that work the first time much easier. It's compatible with .NET 3.5/4.0, SL4, and WP7.

Artefact is absolutely a life saver when it comes to animations in the XAML based gui frameworks. Imho; people who think they do no code-behind and have gazillion storyboards in the XAML is heading to the pit of failure.

Or at lease anybody having to maintain the XAML based animations is deep, deep down in the before mentioned pit..

Thanks for the list. If I'm new to WPF and WVVM, how am I to choose which MVVM frameworks are best? From a newbie's standpoint all your descriptions sound too similar. I'm sure choosing one is highly circumstantial but why did you choose those over others? Do you have personal experience with any of them?

The issue isn't with IE, it's with the way WPF deals with "airspace" issues with hosted hWnd content. Luckily, we're addressing that in the next version, so WPF content will be able to overlap hosted browsers, native windows and more.

I chose some of the top frameworks plus ones I saw that were recently maintained. Prism, Caliburn and MVVM Light are some of the top ones at the moment, but they're not the only game in town. As for picking the best, I'm not really in a position to do that; you'd need to evaluate them based on how you like or dislike the approaches they use.

@Troels

I'm excited to see where you take that!

@Lloyd

I only looked on codeplex. Thanks for the info.

@LeifN, OskarK

Thanks for the ref on Artefact. Looks interesting. I know a number of people who prefer procedural animation for many tasks.

I'll throw my Silverlight app into the mix: <a href="http://chavah.codeplex.com">Chavah</a>, a music service similar to Pandora, built in Silverlight 4. Just published a CodeProject article about it today: <a href="http://www.codeproject.com/KB/silverlight/pandorasilverlight.aspx">Build a Pandora clone in Silverlight 4</a>.

You do know that the Bing Maps 3D code on which this project is based has been dropped by MS dont you? This will leave us without a Bing maps solution for WPF other than the old Web Service calls. There is no MS WPF TileClient that is built to work with Bing Maps. The InfoStrat.VE project was it, as far as I know for WPF. Can you suggest to us another solution? Is there one in the works for WPF 5.0?

Hi Pete, Like @jlafay I am also new to WPF - new to .Net for that matter. I want to learn MVC or MVVM or both. WPF and MVVM seems to go togeter. PRISM appears to contain the framework for learning good patterns and practices first up. Do you know of any websites up and running that have been developed based on PRISM and WPF so we can see what the fruits of people's development efforts using these technologies may look like? Thanks

I've been working with AvalonDock you mention in the Window Management paragraph and I created Sofa (http://sofawpf.codeplex.com). It is a wrapper for AvalonDock adding new features such as dynamic menus or content persistence. OK, it is not one of the 20 most interesting project on Codeplex but (IMHO) it worth the detour if you are interested in GUIs.

Thanks for your good post.
I want WPF application that is integrating with WCF service .
Thanks,
Regards,

Comment on this Post

Name (required)

Email address (will not be published) (required)

Website url

Remember me

Your comment is being submitted, please wait...

Your comment has been posted, thank you. (If your comment does not appear shortly, it was marked as spam.)

Pete Brown is a XAML and Blinky lights guy at Microsoft who focuses on Windows XAML (WinRT), WPF, Silverlight, .NET Micro Framework and other "code on the client" and "code on a device" technologies. This is his personal blog.
About Pete/Full Bio | Contact | About 10rem.net