-
Jun 25th, 2009, 06:06 PM
#1
MDI Substitute
I'm starting in on re-writting our main desktop application from VB6 to .NET and want to use WPF. Now our legacy app is an MDI app and we need to maintain the flow/look as we have hundreds of agents that use it and re-training needs to be minimal to non-existant.
Anyone have any good solutions to maintain an "MDI" appearance / functionality? Its a large application so like with VB6's limit of 255 controls on a form (it has the control array thing to bypass it) and resource intensiveness should take some consideration here too.
Ive see using frames as one possible solution but I think it will be too heavy and would rather use separate "chjild" forms.
Thanks
VB/Office Guru™ (AKA: Gangsta Yoda™ ®)
I dont answer coding questions via PM. Please post a thread in the appropriate forum.
Microsoft MVP 2006-2011
Office Development FAQ (C#, VB.NET, VB 6, VBA)
Senior Jedi Software Engineer MCP (VB 6 & .NET), BSEE, CET
If a post has helped you then Please Rate it!
• Reps & Rating Posts • VS.NET on Vista • Multiple .NET Framework Versions • Office Primary Interop Assemblies • VB/Office Guru™ Word SpellChecker™.NET • VB/Office Guru™ Word SpellChecker™ VB6 • VB.NET Attributes Ex. • Outlook Global Address List • API Viewer utility • .NET API Viewer Utility •
System: Intel i7 6850K, Geforce GTX1060, Samsung M.2 1 TB & SATA 500 GB, 32 GBs DDR4 3300 Quad Channel RAM, 2 Viewsonic 24" LCDs, Windows 10, Office 2016, VS 2019, VB6 SP6
-
Jun 26th, 2009, 12:55 PM
#2
Re: MDI Substitute
Well first things first lets get you out of that winforms mind frame, we call them Windows in WPF, not Forms haha just kidding (although that is true obviously)
What exactly are you wanting suggestions on then? How to actually implement an MDI like interface (as in the code for it) or just how to visually represent each MDI window etc?
-
Jun 26th, 2009, 03:01 PM
#3
Re: MDI Substitute
Old habbits die hard
Well MDI like interface but I dont want a heavy "window" if its only "simulating" MDI. It needs to be easily maintainable from a design aspect as it will be in place for a minimum of 5 years.
VB/Office Guru™ (AKA: Gangsta Yoda™ ®)
I dont answer coding questions via PM. Please post a thread in the appropriate forum.
Microsoft MVP 2006-2011
Office Development FAQ (C#, VB.NET, VB 6, VBA)
Senior Jedi Software Engineer MCP (VB 6 & .NET), BSEE, CET
If a post has helped you then Please Rate it!
• Reps & Rating Posts • VS.NET on Vista • Multiple .NET Framework Versions • Office Primary Interop Assemblies • VB/Office Guru™ Word SpellChecker™.NET • VB/Office Guru™ Word SpellChecker™ VB6 • VB.NET Attributes Ex. • Outlook Global Address List • API Viewer utility • .NET API Viewer Utility •
System: Intel i7 6850K, Geforce GTX1060, Samsung M.2 1 TB & SATA 500 GB, 32 GBs DDR4 3300 Quad Channel RAM, 2 Viewsonic 24" LCDs, Windows 10, Office 2016, VS 2019, VB6 SP6
-
Jun 26th, 2009, 04:25 PM
#4
Re: MDI Substitute
Oh right so you dont want want to use a Window for each MDI window/form in your app? Thats how you would use MDI in winforms isnt it, with a 'heavy' form for each MDI window instance.
Anywho, you can make some rather nice looking MDI-a-likes with WPF because of all the visual tricks WPF can pull off, for example its easy to create a thumbnail of all currently open windows and stick these in a selectable list (think Alt-Tab in Vista).
Here's a good example, although its kind of hard to see in this screenshot as its not on the window thats in focus: http://www.istartedsomething.com/wp-.../lawson_1l.jpg
See those thumbnail images at the top of the window that is in the background, that is an example of an MDI system implemented in WPF
Last edited by chris128; Jun 26th, 2009 at 04:31 PM.
-
Jun 26th, 2009, 05:31 PM
#5
Re: MDI Substitute
Thanks Chris, that is a perfect example of the layout I need.
I meant I didnt want to use a single form/window that simulated an entire mdi app and have to repopulate the nav panel each time the "child" form was changed to a new mdi form.
So in that screen shot, what is its design like? A single window?
VB/Office Guru™ (AKA: Gangsta Yoda™ ®)
I dont answer coding questions via PM. Please post a thread in the appropriate forum.
Microsoft MVP 2006-2011
Office Development FAQ (C#, VB.NET, VB 6, VBA)
Senior Jedi Software Engineer MCP (VB 6 & .NET), BSEE, CET
If a post has helped you then Please Rate it!
• Reps & Rating Posts • VS.NET on Vista • Multiple .NET Framework Versions • Office Primary Interop Assemblies • VB/Office Guru™ Word SpellChecker™.NET • VB/Office Guru™ Word SpellChecker™ VB6 • VB.NET Attributes Ex. • Outlook Global Address List • API Viewer utility • .NET API Viewer Utility •
System: Intel i7 6850K, Geforce GTX1060, Samsung M.2 1 TB & SATA 500 GB, 32 GBs DDR4 3300 Quad Channel RAM, 2 Viewsonic 24" LCDs, Windows 10, Office 2016, VS 2019, VB6 SP6
-
Jun 26th, 2009, 06:47 PM
#6
Re: MDI Substitute
Not quite sure I understand the question but there would be the single 'parent' window yeah, and then however many different types of 'child' window you can have obviously.
Thats not my application in the screenshot (as you probably guessed) but I assume the list of 'child' windows is just created by binding a listbox to a shared list that contains a reference to all of the open windows, then you would just apply your own data template to the listbox and it would automatically create a thumbnail etc for each window.
-
Jun 26th, 2009, 07:43 PM
#7
-
Jun 29th, 2009, 04:58 PM
#8
Re: MDI Substitute
Thanks Chris. This helps. I can redesign some of the apps architechure within a given limit and I think this is within that.
As an app overview I think creating a "Dashboard" as the parent form with each functional section as a separate window will work well for this first "module" of the application. I think if I break these apps out by function I can group the forms better and smaller/lighter.
I guess there is no real reason to try to maintain an actual MDI design. This should simplify things greatly. Thanks and yes I will post more WPF questions. We do have to drive up the traffic in WPF forum, right
VB/Office Guru™ (AKA: Gangsta Yoda™ ®)
I dont answer coding questions via PM. Please post a thread in the appropriate forum.
Microsoft MVP 2006-2011
Office Development FAQ (C#, VB.NET, VB 6, VBA)
Senior Jedi Software Engineer MCP (VB 6 & .NET), BSEE, CET
If a post has helped you then Please Rate it!
• Reps & Rating Posts • VS.NET on Vista • Multiple .NET Framework Versions • Office Primary Interop Assemblies • VB/Office Guru™ Word SpellChecker™.NET • VB/Office Guru™ Word SpellChecker™ VB6 • VB.NET Attributes Ex. • Outlook Global Address List • API Viewer utility • .NET API Viewer Utility •
System: Intel i7 6850K, Geforce GTX1060, Samsung M.2 1 TB & SATA 500 GB, 32 GBs DDR4 3300 Quad Channel RAM, 2 Viewsonic 24" LCDs, Windows 10, Office 2016, VS 2019, VB6 SP6
-
Jun 29th, 2009, 05:03 PM
#9
Re: MDI Substitute
haha exactly
-
Jul 6th, 2009, 02:19 AM
#10
Re: MDI Substitute
I should be back on this next week and have some questions.
Need to fix 3 urgent bugs tomorrow and then see if qa "creates" anymore lol.
VB/Office Guru™ (AKA: Gangsta Yoda™ ®)
I dont answer coding questions via PM. Please post a thread in the appropriate forum.
Microsoft MVP 2006-2011
Office Development FAQ (C#, VB.NET, VB 6, VBA)
Senior Jedi Software Engineer MCP (VB 6 & .NET), BSEE, CET
If a post has helped you then Please Rate it!
• Reps & Rating Posts • VS.NET on Vista • Multiple .NET Framework Versions • Office Primary Interop Assemblies • VB/Office Guru™ Word SpellChecker™.NET • VB/Office Guru™ Word SpellChecker™ VB6 • VB.NET Attributes Ex. • Outlook Global Address List • API Viewer utility • .NET API Viewer Utility •
System: Intel i7 6850K, Geforce GTX1060, Samsung M.2 1 TB & SATA 500 GB, 32 GBs DDR4 3300 Quad Channel RAM, 2 Viewsonic 24" LCDs, Windows 10, Office 2016, VS 2019, VB6 SP6
-
Jul 14th, 2009, 06:21 PM
#11
Re: MDI Substitute
Deployment night so I get to do work on this again while we wait for tech ops to finish
VB/Office Guru™ (AKA: Gangsta Yoda™ ®)
I dont answer coding questions via PM. Please post a thread in the appropriate forum.
Microsoft MVP 2006-2011
Office Development FAQ (C#, VB.NET, VB 6, VBA)
Senior Jedi Software Engineer MCP (VB 6 & .NET), BSEE, CET
If a post has helped you then Please Rate it!
• Reps & Rating Posts • VS.NET on Vista • Multiple .NET Framework Versions • Office Primary Interop Assemblies • VB/Office Guru™ Word SpellChecker™.NET • VB/Office Guru™ Word SpellChecker™ VB6 • VB.NET Attributes Ex. • Outlook Global Address List • API Viewer utility • .NET API Viewer Utility •
System: Intel i7 6850K, Geforce GTX1060, Samsung M.2 1 TB & SATA 500 GB, 32 GBs DDR4 3300 Quad Channel RAM, 2 Viewsonic 24" LCDs, Windows 10, Office 2016, VS 2019, VB6 SP6
-
Jul 14th, 2009, 06:25 PM
#12
Re: MDI Substitute
cool let us know how it goes
-
Jul 15th, 2009, 03:53 AM
#13
Re: MDI Substitute
Just getting a chance to work on it now. Its 2am and still in the ofice
I'm gonna check out some videos and tuts first. Arg the pain of relearning
VB/Office Guru™ (AKA: Gangsta Yoda™ ®)
I dont answer coding questions via PM. Please post a thread in the appropriate forum.
Microsoft MVP 2006-2011
Office Development FAQ (C#, VB.NET, VB 6, VBA)
Senior Jedi Software Engineer MCP (VB 6 & .NET), BSEE, CET
If a post has helped you then Please Rate it!
• Reps & Rating Posts • VS.NET on Vista • Multiple .NET Framework Versions • Office Primary Interop Assemblies • VB/Office Guru™ Word SpellChecker™.NET • VB/Office Guru™ Word SpellChecker™ VB6 • VB.NET Attributes Ex. • Outlook Global Address List • API Viewer utility • .NET API Viewer Utility •
System: Intel i7 6850K, Geforce GTX1060, Samsung M.2 1 TB & SATA 500 GB, 32 GBs DDR4 3300 Quad Channel RAM, 2 Viewsonic 24" LCDs, Windows 10, Office 2016, VS 2019, VB6 SP6
-
Jul 15th, 2009, 05:15 AM
#14
Re: MDI Substitute
Yeah it is quite horrible not being able to do basic things in WPF that you could do in Winforms but it doesnt take that long to get used to it and realise how to do it
-
Aug 6th, 2009, 10:02 PM
#15
Hyperactive Member
Re: MDI Substitute
Hey chris,
Can you walk me through how you got that mdi window to show in the listbox? I tried to duplicate it in c# but I must be missing something and am unable to find it. Any help is appreciated.
If I helped you please rate me.
-
Aug 7th, 2009, 10:08 AM
#16
Re: MDI Substitute
Which bit are you struggling with? All you should need to do is set the ItemsSource property of the listbox to a collection, in this case that collection is a list of the currently open windows.
-
Aug 7th, 2009, 10:54 AM
#17
Hyperactive Member
Re: MDI Substitute
Yeah that is what I did. Maybe I missed something. I will try to create a new project and see if maybe something happened to it.
If I helped you please rate me.
-
Aug 7th, 2009, 03:31 PM
#18
Hyperactive Member
Re: MDI Substitute
I am getting this error:
Window must be the root of the tree. Cannot add Window as a child of Visual.
If I helped you please rate me.
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|