Search code examples
.netwpfwindows-7windows-8microsoft-metro

Making WPF applications look Metro-styled, even in Windows 7? (Window Chrome / Theming / Theme)


I like the window chrome on the new Office Suite and Visual Studio:

enter image description here

I'm still developing applications for Windows 7 of course, but I'm wondering if there's a quick and easy way (read: WPF style or Windows Library) to emulate this style. I've done some window chrome styling in the past, but getting it to look and behave just right is really tricky.

Does anyone know if there are existing templates or libraries to add a "Modern UI" look and feel to my WPF applications?


Solution

  • The solution I ended up choosing was MahApps.Metro (github), which (after using it on two pieces of software now) I consider an excellent UI kit (credit to Oliver Vogel for the suggestion).

    Window style

    It skins the application with very little effort required, and has adaptations of the standard Windows 8 controls. It's very robust.

    Text box watermark

    A version is available on Nuget:

    You can install MahApps.Metro via Nuget using the GUI (right click on your project, Manage Nuget References, search for ‘MahApps.Metro’) or via the console:

    PM> Install-Package MahApps.Metro

    It's also free -- even for commercial use.

    Update 10-29-2013:

    I discovered that the Github version of MahApps.Metro is packed with controls and styles that aren't available in the current nuget version, including:

    Datagrids:

    enter image description here

    Clean Window:

    enter image description here

    Flyouts:

    enter image description here

    Tiles:

    enter image description here

    The github repository is very active with quite a bit of user contributions. I recommend checking it out.