multi window application

lional

Well-known member
Joined
Nov 29, 2018
Messages
55
Programming Experience
Beginner
Hi All
Just need a bit of advice. I wrote a windows forms app in C# about a year ago, badly written it was my first app, I have learnt a lot since then.
I am doing a new version of the app in WPF. It is a multi-window app so my mainwindow has the menu items that I don't want to repeat on each window so I want child windows that open as a menu item has been selected and the mainWindow becomes inactive (visible but can't be selected until the child window closes)
I used MDI in the original app but after some research I read that that type of UI is frowned upon nowadays. What would the best way to accomplish what I would like to do

Just point me in the right direction. I like to research myself, only way to learn.

Thanks and have a great day
 
With SDI (Single Document Interface), you should design your UI as if the single document is the only document. There is no "parent" window. Every document should be treated as if it was its own application. Think of launching multiple instances of Notepad. In the case of SDI, though, although there would be multiple notepad.exe's running, you'll want to be like MS Word where there is only a single word.exe that is running even if you having multiple documents open.

So with that in mind, you'll basically need to duplicate your menus across each of your windows, unless the window that you are bringing up is a modal dialog. In general, though, most modal dialogs are meant to collect information and then be dismissed. They typically don't have menus.
 
Thanks for your reply. So the situation of having a mainWindow and then using multiple usercontrols to change as the different menu items are selected is not a good idea
 
On a web page, that is how modern Single Page Applications work -- by dynamically adding/showing and removing/hiding parts of the UI. It's what saves the user from the jarring page loads.

On a desktop application, it really depends on the type of experience you want to give the user. If you want to give the user a web-like experience, then I may have no choice but to just retain a single window and then dynamically add and remove controls. If you want a more traditional Windows or Mac like UI, then dialog boxes, wizards with a parent application window is the way to go.
 
Thanks, I was going along the web-like experience purely because it is a student administration application which consists of multiple windows that might result in numerous tabs being open so I was concerned about the confusion from a users perspective with multiple windows open, that it might be a simpler user experience only working on one at a time, but I hear what you say so I will give it some research. Your help is much appreaciated
 
Back
Top Bottom