ToolWindows Sorting Behind Window

Docking/MDI for WPF Forum

Posted 5 years ago by Michael Jelley
Version: 14.1.0600
Avatar

Hello,

I'm researching how we might do this. Please tell me if it would help for me to go into more detail here, I'm trying to keep this somewhat high level.

In our application, it seems we need to have our ToolWindows sort, where some ToolWindows are obscured by the application window, and other ToolWindows appear on top of the application window. The sorting would be based on which dock site is "focused": ToolWindows associated with dock sites that are not "focused" would be obscured, and ToolWindows associated with the "focused" dock site would appear on top. Luckily, dock sites can tell whether they're "focused" or not because each is contained within a tabbed MDI DocumentWindow, and we can listen to the "PrimaryWindowChanged" event on the Tabbed MDI host.

First, the simpler question: do ToolWindows support sorting? It seems their behavior is to always sort on top of the application window.

Second, the deeper issue: is there anything like this in Docking/MDI? We're not against modifying source, but it's worth checking before diving into this. If this requires source modding, can anyone supply a rough estimate of the extent of changes involved?

Thanks in advance!

Comments (7)

Posted 5 years ago by Actipro Software Support - Cleveland, OH, USA
Avatar

Hi Michael,

Please correct me if I'm wrong, but it sounds like you are talking about having a multi-level hierarchy here, where you have a root DockSite that has tabbed MDI, and each document window in that would have its own nested inner DockSite that had tool windows.  You would want the floating tool windows from the currently selected DockSite to show.  Do I have that right?

If so, did you see our "Nested Dock Sites" QuickStart?  That seems like it might accomplish what you are looking for.  As you switch document tabs, it will hide the floating tabs of the inactive nested DockSite.


Actipro Software Support

Posted 5 years ago by Michael Jelley
Avatar

You have correctly interpreted my post. As for the hiding of floating tabs, I wasn't aware of that behavior. That will affect our decision greatly, as it's close to what we want, and already supported.

I'll review internally whether this meets our needs.

Thanks again!

Posted 5 years ago by Michael Jelley
Avatar

One question about that, is there any way we can disable the hiding of "inactive" floating tabs? Can you point me to some place in the source where I can further investigate this behavior?

Thanks!

Posted 5 years ago by Actipro Software Support - Cleveland, OH, USA
Avatar

Yes, you can set DockSite.CanRaftingWindowsCloseOnDockSiteUnload to false to keep inactive floating tabs visible.  All of it happens in an internal DockSite.UpdateRaftingWindows method.


Actipro Software Support

Posted 5 years ago by Michael Jelley
Avatar

I don't see that property (DockSite.CanRaftingWindowsCloseOnDockSiteUnload) in my version, 14.1.0600. Is that new to the latest version?

Posted 5 years ago by Actipro Software Support - Cleveland, OH, USA
Avatar

Whoops, sorry.  It's a new property that is ready to go for the 2014.2 version, which should be out in the next several weeks.


Actipro Software Support

Posted 5 years ago by Michael Jelley
Avatar

Gotcha. I'll eagerly await that release, then. Thanks again!

The latest build of this product (v2018.1 build 0675) was released 1 month ago, which was after the last post in this thread.

Add Comment

Please log in to a validated account to post comments.