سؤال

I know this is a very open ended question, so bear with me - is there any good way to imitate the look and feel of Visual Studio 2012's interface? I would very much like to emulate teh drag/drop capabilities and just the overall cleanliness of design.

So far I know about AvalonDock, WPFMDI, SyncFusion's approach, and Infragistic's Dock Manager. Infragistic's approach looks much like what I would like to have, but 1) I have no idea if I can use them in my current project (licensing, etc.) and 2) I'd like to know (at least on a highish level) on how they actually work. Can anyone shed some light on how they would approach this?

I'll post my train of thought as an answer for starters.


Visual Studio's interface (2012) VS2012 Interface

AvalonDock 2.0 AvalonDock 2.0

WPFMDI (kinda ugly) WPF MDI

SyncFusion's Dock Manager (very much not open-source) SyncFusion's Dock Manager

And lastly Infragistic's Docking Manager (also commercial) Infragistic's


Again, VS2012 imitation is the goal - these are just a bunch of projects that have already attempted to complete this goal in the general.

هل كانت مفيدة؟

المحلول

In my silly logic, each tabbed interface should actually be a tab.

When the user clicks and drags the tab to the primary orientation (left/right for horizontal tabs, top/bottom for verticals), the tabs should change their ordering to accommodate and the view should stay the same.

However, if the tab is dragged perpendicular to its primary orientation, then a snapshot should be made of the tab, it should shrink to about 60% of its original size, and should be desaturated/made translucent. As the user drags it around, the image should obviously follow.

When the user mouse enters the center region of a TabContainer (subclass of Canvas? Page? I dunno), the little overlay pops up for easy docking.

If the user drags it to a TabBar, it adds itself to the appropriate spot on that TabBar (according to where the mouse is, etc.). Every TabContainer has exactly one TabBar.

What I can't figure out in this design is how you can grad a tab and have it fixed/floating/autohiding/etc. as what happens in VS.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top