The KryptonNavigator is going to be the primary container used within the docking framework for hosting docking pages. So we need to ensure we can manipulate the appearance of the navigator so it looks appropriate when inside the docking framework. By default we have the following…

I have added HeaderBarTabGroup as a new navigator mode that displays two headers around the edge of the tab headers area. As with all the header modes the buttons are placed inside the primary header instead of inside the tab bar. Switching to the new mode we get the following…

To replicate the Visual Studio 2008 docking windows we need to remove the secondary header and change the tabs orientation so they appear at the bottom. We can do that by changing a couple of existing properties. For this example I have removed the display of the context button so we have just a close button showing…

Now we have the correct layout we need to add some new palette styles so the appearance can be customized for just the docking scenario. Two new header styles called HeaderDockActive and HeaderDockInactive allow the header to indicate the active state of the navigator. The next two images show the header in each of the two styles.

Also added are a new TabBorderStyle called Dock and a tab style of Dock that allow the shape and appearance of the tabs to be defined specifically for the docking scenario. These changes give the final look and feel as follows for the Office 2007 – Blue palette…

Once I get to write the docking code there will be an event that is fired whenever a navigator is created. Just before the event is fired the navigator will be customized so it looks as seen above. But you will be able to hook into that event and alter the appearance to whatever you prefer instead. For example, you might decide to have a stacking buttons style instead. Allowing easy customization of appearance and operation are a key goal of the docking windows system.

Leave a Reply