Docking/MDI vNext - How Should We Improve MVVM Support?

by Avatar Bill Henning (Actipro) - 5 comments
Thursday, August 20, 2015 at 2:20pm

PostBannerWPFControlsDevNotes

As mentioned in this previous post, we've been looking for ideas to further improve our WPF Docking/MDI product, which already is the market leader for docking tool window and MDI functionality.  We've committed to working on a complete internal restructuring of the product that we will call Docking/MDI vNext.  We're doing our best to keep the same general API surface, while providing even more advanced features in every area of the product.  We've collected suggestions from our customers over the past several years and are working to meet them as best we can with Docking/MDI vNext.

Our current production version of Docking/MDI fully supports the optional MVVM pattern for managing both tool and document windows.  The design generally follows that of a standard ItemsControl.

We are revisiting all of this right now in our vNext implementation and want to hear from you, our customers, on what improvements or feature additions would help you out when working with MVVM-based docking windows.

  • What API additions/changes would you like to see?
  • What MVVM-related functionality would you like to see added?
  • What are any pain points you've encountered with MVVM support in the current version?
  • What MVVM framework, if any, do you use within your app that you'd like to integrate docking windows with?

If you could reply to the above questions in the comments or email our support address, it would be most welcome.  Now is the time to send your feedback as we are currently working in this area.  Thanks!

Tags: wpf, docking

Actipro's WPF Controls

Over 100 UI controls for building beautiful Windows Presentation Foundation desktop apps.

Learn More

Over 100 UI controls for building beautiful Windows Presentation Foundation desktop apps.

Includes editors, docking windows, MDI, property grids, charts, tree controls, ribbons, gauges, themes, and much more.

Learn More Download Free Trial

Comments (5)

Posted 9 years ago by (Anonymous)
Avatar
Hello, We currently use the Actipro docking solution with the optional MVVM support. One of the first things that comes to mind when thinking about improvements, is the ability to set the active/selected tool window or document window via a property in the tool window or document window view model. I'm very excited about the improvements and new features in the upcoming redesign. We're eager to try the new temporary tab feature. I'll post other comments if I think of anything else. Do you guys have an estimate for the release of vNext? Would it be this year or what quarter next year? Thanks, Rodrigo
Posted 9 years ago by Bill Henning (Actipro) - Actipro Software LLC
Avatar
Hi Rodrigo, For your comment, do you mean you'd like to just ensure the tab is selected or that the tab's contents has focus as well? We are working every day to get the beta for vNext complete, and are a good way through most of the feature coding that we wanted to add for the first beta. I hesitate to give a date yet since things always take longer that you would like in software development. :) We do want it out this year though.
Posted 9 years ago by Rodrigo Contegni - Austin, TX
Avatar
Hi Bill, Thanks for the quick reply. In our implementation, we actually handle both concepts. The DockSiteViewModel has a SelectedDocument property that has a reference to the DocumentViewModel for the tab that is currently selected. The selected DocumentViewModel has its IsSelected property set to true. If no tabs are open, SelectedDocument is null. You can change the selected document by either setting it in the DocksiteViewModel or setting IsSelected in the DocumentViewModel. The DockSiteViewModel also has an ActiveWindow property that has a reference to the DockingWindowViewModel (tool or document) that currently has focus. The active DockingWindowViewModel will have its IsActive property set to true. Again, you can change the active docking window by setting the property in the DockSiteViewModel or setting the IsActive property on the DockingWindowViewModel. I hope this is not too confusing. Thanks, Rodrigo

Rodrigo Contegni

Posted 9 years ago by Bill Henning (Actipro) - Actipro Software LLC
Avatar
We've made some really good progress on this today. In our vNext test, we have the DockingWindow.IsSelected and IsActive properties settable now. You can bind them to related properties on your view model. Then when you change a view model property to true, different effects occur. Setting IsSelected to true will bring the tab to the front but without focus, unless the container previously had focus. Setting IsActive to true will bring the tab to the front with focus.
Posted 9 years ago by Rodrigo Contegni - Austin, TX
Avatar
That's excellent news! Thanks!

Rodrigo Contegni

Add Comment

Please log in to a validated account to post comments.