Hi,
I have a problem using XamDockManager. I have a sample where I would like to have many contentpanes on to the left and right sides (like we have in Visual Studio), and want to display my view in a content control in between the left and right panes. I also want to customise the visibility of these dockable panes on tothe right and left depending on the view being displayed in contentcontrol. How can I do that?
I have tried this including three content controls where I have two XamDockManagers in 1st and 3rd contentcontrols and view in region declared in 2nd contentcontrol. This is working fine in terms of customising the visibility of the panes but I had a problem in pinning and unpinning the dockablepanes and resizing the content at the center.
This is my xaml..
<ContentControl Grid.Column="0" VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
<igDock:XamDockManager Theme="Office2010Blue">
<igDock:XamDockManager.Panes>
<igDock:SplitPane SplitterOrientation="Horizontal" igDock:XamDockManager.InitialLocation="DockedLeft">
<igDock:ContentPane Header="Navigation"/></igDock:SplitPane>
</igDock:XamDockManager.Panes></igDock:XamDockManager></ContentControl>
<ContentControl regions:RegionManager.RegionName="MainRegion"Grid.Column="1"VerticalAlignment="Stretch"HorizontalAlignment="Stretch"/>
<ContentControl Grid.Column="2" VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
</igDock:XamDockManager.Panes>
</igDock:XamDockManager>
</ContentControl>
Please suggest me a way to do it.
Thanks ,
Prasanti
The xamDockManager is itself a ContentControl so you can set its Content to the ContentControl (or element/content/etc) that you want to be the center/main content and then just create SplitPanes in its Panes collection that are docked left or right.
e.g.
<igDock:XamDockManager Theme="Office2010Blue"> <igDock:XamDockManager.Panes> <igDock:SplitPane SplitterOrientation="Horizontal" igDock:XamDockManager.InitialLocation="DockedLeft"> <igDock:ContentPane Header="Initially Left"/> </igDock:SplitPane> <igDock:SplitPane SplitterOrientation="Horizontal" igDock:XamDockManager.InitialLocation="DockedRight"> <igDock:ContentPane Header="Initially Right"/> </igDock:SplitPane> </igDock:XamDockManager.Panes> <ContentControl regions:RegionManager.RegionName="MainRegion" Grid.Column="1" VerticalAlignment="Stretch" HorizontalAlignment="Stretch"/></igDock:XamDockManager>
Thank you for your reply. I have also tried that option suggested by you. But how can I customise the visibility of my panes if I would not like to display right panes for a particular view or left panes for another?
If I have ContentControls declared as various regions in my view, I could use usercontrols having XamDockManager to add to that regions if I wish to display them else not. Then the empty space would be occupied by remaining controls in the view if I dont display any thing in that contentcontrols. But in the above case suggested by you, if we make the visbility of a split pane hidden, the empty space is left as it is(which I want to avoid). And more over I am hardcoding the XamDockManagers. So it would be difficult for me to customise the panes according to XamDockManager's content.
So Please suggest me a way to do this.
Thank you,
Prasanti.