Hello!
Currently XamDockManager only allows docking at the edges leaving the central area for the content. For our application we do not want this central space, we want all the dock manager client area available for docking. I.e. we want the standard behaviour of the DockPanel when the last child fills all the rest of the space. Infragistics dock manager for WinForms allowed it by setting some property, which was extremely handy. I read the forum and learnt that I'm not the first to request this functionality and it is not currently available.
So, I want to ask about different approach: is it possible to adjust the visual representation of the DocumentContentHost so that its Tabs look like the Tabs of the panes docked to the edge and it does not have a thick border?
Thanks in advance,
Andrey.
My apologies for being terse, but this doesn't appear to help me solve me problem. I seem to have found a solution and just need a little help to implement it. The solution you outlined in the second post of this thread sounded like a good enough solution, but I am unable to make it happen. I'm asking for some detail and I am hoping you can help.
If you are unable to provide a sample, could you please help me in another way? Maybe you can:
Actually I (nor do I know that anyone at Infragistics) proposed this route. This thread was started by another customer who wanted to restyle the tabgrouppane within the documentcontenthost to look like the tabgrouppanes that are docked/floating so I have no such sample. The other trigger that I believe you were asking about - the one that controls the look of the tab item - is in the PaneTabItem style. If there are no visible panes within the documentcontenthost, the area will still be occupied by the DCH.
I think I've seen a similar solution floated out there. If there's still unused space somewhere in the window that is taken up by the document host, I don't think it will work for me, but thanks for offering. The solution proposed by Infragistics sounds like the best approach. It doesn't try to work around the required document host -- it actually changes the visual appearance of it to make it look like the rest of the panes. This sounds like it will work for me, but I'm having trouble implementing it. I don't know these controls well enough to be efficient and I was hoping I could get a sample of this implementation from Infragistics staff. It sounds like this is supported easily enough, but I'm having trouble finding the right places to override styles and/or templates.
Sorry the code is on the laptop which is not with me right now. I will grab it tomorrow.
I never used Blend actually. Are you sure that <Style x:Key="OverrideDocumentTabGroupPaneStyle" is picked up within the infragistics logical tree?
OK, I was hoping for an example, so now I need more hand holding to get the solution. Here's the style Blend extracted. Do I need to remove the trigger I bolded, or do I need to modify it? I'd think if I removed it there would be no special styling for content hosted in the document pane, but that didn't work. So if I changed it, I'd think I'd need to change it to DockableTabGroupTemplateKey. This is for the tab group, but not for the ItemsPanel. I don't see a DocumentTabItemTemplateKey anywhere in the style. Where do I find that and what do I change it to?
Again, it would be very helpful if you posted an example.
<Style x:Key="OverrideDocumentTabGroupPaneStyle" TargetType="{x:Type igDock:TabGroupPane}"> <Setter Property="TabStripPlacement" Value="Bottom"/> <Setter Property="igWindows:XamTabControl.TabLayoutStyle" Value="SingleRowJustified"/> <Setter Property="BorderBrush" Value="{DynamicResource DockManagerBrushKeys.ContentPaneBorderFillKey}"/> <Setter Property="Background" Value="{DynamicResource DockManagerBrushKeys.TabbedListActiveBottomCenterFillKey}"/> <Setter Property="SnapsToDevicePixels" Value="True"/> <Setter Property="Template" Value="{DynamicResource TabGroupPane.DockableTabGroupTemplateKey}"/> <Style.Triggers> <Trigger Property="igDock:XamDockManager.PaneLocation" Value="Document"> <Setter Property="Template" Value="{DynamicResource TabGroupPane.DocumentTabGroupTemplateKey}"/> <Setter Property="ItemsPanel"> <Setter.Value> <ItemsPanelTemplate> <igDock:DocumentTabPanel IsItemsHost="True" TabStripPlacement="{Binding Path=TabStripPlacement, RelativeSource={RelativeSource FindAncestor, AncestorLevel=1, AncestorType={x:Type igDock:TabGroupPane}}}"/> </ItemsPanelTemplate> </Setter.Value> </Setter> </Trigger> <Trigger Property="IsTabItemAreaVisible" Value="False"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type igDock:TabGroupPane}"> <Grid> <ItemsPresenter MaxHeight="1" MaxWidth="1" Visibility="Hidden"/> <ContentPresenter Margin="{TemplateBinding Padding}" x:Name="PART_SelectedContentHost" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" Content="{TemplateBinding SelectedContent}" ContentSource="SelectedContent" ContentTemplate="{TemplateBinding SelectedContentTemplate}"/> </Grid> </ControlTemplate> </Setter.Value> </Setter> </Trigger> </Style.Triggers> </Style>