Take the 2-minute tour ×

I'm mew to WPF and I really like MDI applications. It allows me to move quickly between windows and compare the content of different windows. Furthermore, sometime the content of one window is useful for another so I can copy and paste. I think it's a great user experience for working mode.

Right or wrong practice, I love it.

I saw http://stackoverflow.com/questions/1651424/mdi-applications-in-wpf

and there they gave the vs2010 environment as an example. I didn't understand if and how it is possible to implement that environment: like having tabs that can be tear off to independent screen(less important for me) and rearranged side by side with the rest of the tabs.


I guess that I was looking for "docking layout system in wpf" ,googleing this offer 3rd party components.

I think I'll start with a "normal" application. It feels like there is no easy out of the box implementation here.

Thanks for your help Asaf

share|improve this question
add comment

4 Answers

There are two popular projects on CodePlex that might help you:

  • AvalonDock - a docking library in the style of Visual Studio, and
  • WpfMdi which is a classic MDI window manager.

AvalonDock supports separate tab-sets side-by-side and also tear-off windows like Visual Studio, so it should give you everything you need, though not exactly classical MDI. It is used in SharpDevelop, so you could download that to play around and get an idea of how the docking library can be used.


And I found a third one which looks very snazzy: Chronos WPF.

share|improve this answer
add comment

From some reason, Microsoft decided that MDI is wrong. There is a lot of information about this when searching it in Google.

I believe that it is wrong to kill something that so many people liked and in forums I visited, some people point to a new Microsoft example that works in MDI to stress the point that it is legit way to build an application.

I hate swimming against the stream, so I quit as soon as I understood that despite it is possible to create an MDI application with modern Microsoft application such as silverlight, wpf and maybe even windows-phone, microsoft really discorage it and doesn't offer any support (as far as I know).

Hope it helps to others that wonders what happened to our good old MDI "Father".

share|improve this answer
add comment

I don't think their is a built in way to do this. However you may want to look at buying a set of user controls from someone such as DevExpress, Component One, Infragisitcs, Telerik... I would think most of them will have a similar control to how VS2010 works. I know DevExpress does.

share|improve this answer
add comment

Check the LinsUIWPF Suite, it supports MDI. You can go to the link for more detail. Making WPF application contain both metro-style and tradition windows style with LinsUIWPF Suite.

share|improve this answer
add comment

Your Answer


