It is highly encouraged that you work on this ticket with Visual Studio 2015 and with the Diagnostic Tools pane pinned where you can watch it while diagnosing.
Restoring a DockLayoutManager layout where the MinWidth property is set on LayoutControlItems such that there is insufficient horizontal space for the required LayoutControlItems to display, the application will lock. Based on my system setup it appears that the Dispatcher is pegging its hosting logical processor during this scenario.
In the attached sample the Window width is set to 800 and the various LayoutControlItems MinWidths will exceed 800. Upon launching the app it is unresponsive. Also notice the Diagnostic Tools pane shows a marked increase for CPU usage such that the percentage likely indicates the thread is very busy hogging a logical processor.
Let's move to a slightly different scenario and remove the Window's Width attribute and set the WindowState to Maximized. Now when launching the app it is responsive while maximized (1920x1080) with normal CPU utilization. Now restore the window state with the control box and resize the window's width until you see the Diagnostic Tools again show CPU utilization go up and the app becomes unresponsive. While following this procedure on my machine it consistently causes Windows to become unresponsive and I have to Ctrl+Alt+Delete to end the vshost task.
If you comment out the LayoutControlItem's Style in the MainWindow's resources you'll see the issue mitigated and you can resize the window down without this issue.
Full disclosure: Our real application also has another symptom which I am not able to reproduce with the sample, infinite garbage collections. In the Diagnostic Tools you can see the yellow indicator for a GC occurring continually multiple times per second, ad infinitum. The app still locks but it has the recursive GC issue in conjunction with the app locking. I discovered this issue during a live demonstration in front of hundreds of our customers at a conference.
Hi Adam,
Many thanks for the detailed description and providing the sample. I have reproduced this issue on my side. It seems to be related to our mechanism of resizing group child elements. I will inform our developers about this specific issue so that they can research it thoroughly. We will let you know once we find a solution.