Adding a border with dropshadow to TabbedMdiContainer or Host

Docking/MDI for WPF Forum

Posted 5 years ago by Chris Carter
Version: 14.2.0611
Avatar

I need to make all DocumentWindow tabs in a TabbedMdiContainer have the same dropshadow. I've found where I would modify the style templates (Docking\Themes\Includes\Styles\Containers.xaml:162), but I don't see a way to do that for the templates actually used in my project. All I think I want to do is add a Border.Effect element, but I don't see any style key I can use for this. What should I be doing differently?

Comments (3)

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

Hi Chris,

Window tabs are mainly defined in the DockingWindow.xaml file.  They are effectively the styles for the controls like ToolWindow and DocumentWindow, since the tab is how the controls are represented in UI.

The Containers.xaml file would have styles for the containers like TabbedMdiContainer, etc.


Actipro Software Support

Posted 5 years ago by Chris Carter
Avatar

Right, I was expecting the solution to involve changing the TabbedMdiContainer, but I don't see a way to change it in the way that I need. I don't see a key that holds an element hierarchy for that section, and changing the style templates directly would be pointless since the ones I'm viewing aren't the ones referenced by the project. Am I missing something?

[Modified 5 years ago]

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

Hi Chris,

Anything related to rendering of the TabbedMdiContainer is in the TabbedMdiContainer Style in Containers.xaml.  The items (rendered as tabs) presented in its ItemsPresenter would be the DocumentWindow and ToolWindow instances, with the DockingWindowTabbedMdiDocumentTemplateKey template set, which is defined in DockingWindow.xaml.  Everything that is rendered on our end for a tabbed MDI container is done through those two things and the resources they use.

If you want to change the TabbedMdiContainer Style, you'd need to clone it and put the modified clone in your app's Resources.  If you want to change the tab styles, you'd need to clone just about everything in DockingWindow.xaml (since different triggers in the docking window Styles activate different templates) and put the modified clones in your app's Resources.


Actipro Software Support

The latest build of this product (v2019.1 build 0683) 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.