Your Privacy Matters: We use our own and third-party cookies to improve your experience on our website. By continuing to use the website we understand that you accept their use. Cookie Policy
1770
Redocking ContentPane after 'Floating' selected
posted

Hello. Here is my configuration:

<igWPF:XamDockManager LayoutMode="FillContainer" Background="LightBlue" Name="DockManager" >
<igWPF:XamDockManager.Panes>

<igWPF:SplitPane Name="LogSplitPane" >
<igWPF:ContentPane Header="North"
Name="NorthContentPane"
AllowDockingInTabGroup="False"
AllowInDocumentHost="True"
AllowDocking="True"
AllowClose="False"
CloseButtonVisibility="Hidden"></SplitPane>

<igWPF:ContentPane Header="South"
Name="SouthContentPane"
AllowDockingInTabGroup="False"
AllowInDocumentHost="True"
AllowDocking="True"
AllowClose="False"
CloseButtonVisibility="Hidden"></ContentPane></igWPF:SplitPane>

</igWPF:XamDockManager.Panes>
</igWPF:XamDockManager>

When I click on say the North pane header and drag the content pane out of the window, then drag it back, I can re-dock it. When I click on the little down arrow on the top right hand corner of a content pane and select 'Floating', for say the north pane, the content pane pops out but when I grab it by the header and try to drag it back into the dock manager, the docking icons (that allow you to dock in the top, left, right, bottom) don't show up. I don't have way of putting the content pane back into the dock manager. Hopefully this makes sense. 

How can I achieve this?

Thanks

Parents
No Data
Reply
  • 34810
    Verified Answer
    Offline posted

    Hello KrisVice,

    Thank you for your post!

    The behavior you are seeing is actually expected behavior of the XamDockManager. The reason for this is that the XamDockManager was designed to mimic the behavior of the panes in Visual Studio. At the time of its design, the version of Visual Studio was 2008, and this was the behavior of that version. What is essentially happening in this case is that the "Floating" menu item that you are seeing currently has a ContentPaneCommands.ChangeToFloatingOnly command attached to it, which changes the ContentPane's PaneLocation property to "Floating Only," which does not allow the pane to be re-docked.

    I would propose as a workaround that you change this command on opening of that menu. You can catch the opening of that menu by handling the OptionsMenuOpening event on the ContentPane, and by creating an implicit Style that targets ContentPane with an EventSetter for this event, you can attach this to each ContentPane in your application. Using the event arguments of this event, you can obtain the ItemCollection that represents the menu items of this menu and loop through it to find a MenuItem that has a header containing "Floating." From there, you can change the event on this menu item to ContentPaneCommands.ToggleDockedState, which will put the pane into a "Floating" PaneLocation, and allow it to be re-docked.

    I have attached a sample project to demonstrate the above. I hope this helps you.

    Please let me know if you have any other questions or concerns on this matter.

    Sincerely,
    Andrew
    Associate Developer
    Infragistics Inc.
    www.infragistics.com/support

    XamDockManagerReDockCase.zip
Children
No Data