tags:

views:

1190

answers:

1

I am working on a new .Net WPF project and will most likely be using the PRISM framework.

One of the requirements that I have for the application is to have an MDI type user interface. I need a main shell with a header, footer and sidebar regions. The main workarea of the application needs to contain multiple tabs, with one tab for each "workarea". These tabs should dockable so that they can be either pinned or free floating like an independent window within the main application window.

My question is:

a) What is the best tool for this job? I've looked at Infragistics who have a DockManager control which looks like it would do this.
b) Is this good practice to have multiple free floating windows within your application?

+5  A: 

a) There are many 3rd party tools that will do this. Infragistics XamDockManager will, as well as Syncfusion's Docking Manager, and I'm sure there are others out there.

b) MDI interfaces are not really considered "good" anymore. They have been superseded in most programs by using multiple SDI windows. For example, look at Microsoft's products, such as the Office suite. They have nearly completely switched away from MDI interfaces. Even visual studio has gone to tabbed interfaces.

Reed Copsey
I agree with what you say with regards to Office, the point that has been made to me (by those driving the requirements) is that in Office etc you can still switch to an MDI view to have two documents side-by-side if you want it. Thanks for the input though, I hear what you are saying
Steve
Look at visual studio - it used to be the "perfect" MDI app, and they've now switched to tabbed document views instead, with split windows and docking tool windows (but not floating windows internally).
Reed Copsey
But they are moving to floating windows in 2010. Even out-of-shell floating windows.
Anderson Imes
It's different than MDI, though. You can't "float" a window inside of the main shell, but they tear out into their own, separate window.
Reed Copsey