Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DockingManager: ModelChange event happens before new LayoutDocumentItem is added #1430

Open
striveprover opened this issue Jan 17, 2019 · 2 comments

Comments

@striveprover
Copy link

When switched our project from .Net framework 4.6.1 to 4.7.2, the ApplyStyleToLayoutItem routine in Xceed.Wpf.AvalonDock.DockingManager causes a ModelChange event. Handling the event requires that the new LayoutDocumentItem is in the DockingManager's _layoutItems list. Unfortunately, the new LayoutDocumentItem is only added after ApplyStyleToLayoutItem completes.

The handler for ModelChange event in LayoutDocumentTabItem fails to set LayoutItem property and its CloseCommand no longer executes. Also, the item appears blank. Deselecting and reselecting allows its content to show, but does not fix the CloseCommand.

To be clear, we switched the .Net framework only in our projects and not in the Avalon dock project.

The fix appears to be to re-order the two lines (in two places) in Xceed.Wpf.AvalonDock.DockingManager.cs as shown below.

       _layoutItems.Add( layoutItem );
      ApplyStyleToLayoutItem( layoutItem );
@XceedBoucherS
Copy link
Collaborator

Hi,
Can you submit a sample showing the issue so we can test it the same way as you ?
Thank you.

@striveprover
Copy link
Author

As you might expect the real project is quite complex and I cannot share it. But I don't understand the Avalon Dock well enough to cause ApplyStyleToLayoutItem to run. So the radically trimmed down version that I mocked up doesn't cause the behavior.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants