When I use a XamDockManager as child of ContentPane the unpinned tab close / fly-in once any control is used on the pane - the parent XamDockManager unpinned pane work as expected is there a workaround for this? Here is sample which illustrates:
<igDock:XamDockManager Name="dataGridDockManager" FlyoutAnimation="Fade" HorizontalAlignment="Stretch" HorizontalContentAlignment="Stretch" >
<igDock:XamDockManager.Panes>
<igDock:SplitPane>
<igDock:TabGroupPane>
<igDock:ContentPane igDock:XamDockManager.InitialLocation="DockedLeft" IsPinned="False" AllowClose="False" CloseButtonVisibility="Hidden"
Header="Parent XamDockManager Unpinned Tab Stays Open" >
<Grid Background="Red">
<StackPanel>
<TextBlock>Pane stays open after control until focus is moved outside pane</TextBlock>
<Button Height="25" Width="75">Press Me</Button>
<CheckBox Height="25" Width="75">Press Me</CheckBox>
<RadioButton Height="25" Width="75">Press Me</RadioButton>
</StackPanel>
</Grid>
</igDock:ContentPane>
</igDock:TabGroupPane>
</igDock:SplitPane>
<igDock:ContentPane IsPinned="True" AllowClose="False" CloseButtonVisibility="Hidden" MinWidth="700"
Header="Test Pane 4" >
<Grid Margin="20" Background="Gray" >
<Grid>
<TextBlock>Child XamDockManager</TextBlock>
<igDock:XamDockManager FlyoutAnimation="Fade" HorizontalAlignment="Stretch" HorizontalContentAlignment="Stretch">
Header="Child XamDockManager Unpinned Tab Doesn't Stay Open" >
<TextBlock>Pane closes once any control is used</TextBlock>
<igDock:ContentPane IsPinned="True" AllowClose="False" CloseButtonVisibility="Hidden"
Header="Test Pane 4" MinWidth="600">
<Grid Background="Blue">
<TextBlock>Child XamDockManager Content</TextBlock>
</igDock:XamDockManager.Panes>
</igDock:XamDockManager>
Thanks
-Phil
Hello Phil,
I've managed to reproduce the behavior and found a work around it prevents keyboard interactions. The issue is that the content pane is losing focus. You can mark it handled so it won't auto close. I am looking into a better approach.
eg.
private void ContentPane_PreviewGotKeyboardFocus(object sender, KeyboardFocusChangedEventArgs e) { e.Handled = true; }
{
e.Handled = true;
}
Let me know if you have any questions.