problem with revision 45675

Oct 31, 2009 at 12:30 AM

Hi,

Did anyone see the following problem with the latest revision?

Consider the followign xaml:

        <ad:DockingManager x:Name="_dockManager">
            <ad:ResizingPanel Orientation="Horizontal">
                <ad:ResizingPanel Orientation="Vertical">
                    <ad:DockablePane >
                        <ad:DockableContent x:Name="UpperContent" Title="Upper Content"/>
                    </ad:DockablePane>
                    <ad:DockablePane >
                        <ad:DockableContent x:Name="LowerContent" Title="Lower Content"/>
                    </ad:DockablePane>
                </ad:ResizingPanel>
                <ad:DocumentPane Visibility="Visible"/>
            </ad:ResizingPanel>
        </ad:DockingManager>

When run against previous versions everything displays and works correctly. The window displays the upper content and the lower content on the left, and one above each other, with the document pane on the right.

When built against 45675 I get an exception during the ArrangeOverride of the DockingManager when the window is initialized. The exception is thrown by UpdateAnchorStyle(ResizingPanel panel) "The enumerator is not valid because the collection changed." This happens on the foreach the second time around.

If I change that with a for loop instead, the window initializes but the "UpperContent" DockableContent is never shown and is not even part of the DockableContents collection of the DockingManager.

Am I doing somethign wrong?

Thanks,

Kane.

Oct 31, 2009 at 3:58 PM

Hi, ctzkane.

I had the same problem with revision 44904. I had no time to investigate the reason for this behavior and rolled back to 44374, where it seems to work fine. Have you tried 44904?

Oct 31, 2009 at 7:03 PM

I have the same problem.

I rolled back to 44904.

 

 

Nov 2, 2009 at 7:28 AM

Try to comment out the code below in the GetMainDocumentPane(ResizingPanel parentPanel) in DockingManager.cs and see if that resolves your problem.

 

				if (child is DockablePane)
				{
					DocumentPane doc = new DocumentPane();
					DockablePane dockablePane = child as DockablePane;
					while (dockablePane.Items.Count > 0)
					{
						doc.Items.Add((dockablePane.Items[0] as DockableContent).DetachFromContainerPane());
					}
					return doc;
				}
           

 

 

Nov 2, 2009 at 11:26 AM

Yes the problem seems to be related to latest patch that I've applied without testing it well.

Please comment out lines from 479 to 488 (DockingManager.cs).

I'm posting corrected release on SVN and the upodated dll on the release section.

Sorry again