Let me first explain the layout so you can better understand the problem.
At the bottom of the application is a horizontal split pane (call it PANE1) whose height can be adjusted. Inside that split pane are two content panes separated by a split pane that can be adjusted left/right.
When the application enters a specific state, one of the content panes (the right one) disappears and the left content pane stretches to fill PANE1. When the application leaves that state, the right content pane reappears. However, the left content pane's width is not shrinking down to compensate for the reappearance of the right content pane.
It seems there would be a simple update function to force the left pane to recalculate it's width, but I can't seem to find it.
Thanks in advance for your help.
The children of the SplitPane are sized based on the ratio of their RelativeSize - specifically the Width of that size for a splitpane whose SplitterOrientation is vertical (i.e. horizontally arranged panes) and the Height when SplitterOrientation is Horizontal (i.e. vertically arranged panes). Those values are normally only manipulated when the splitter bar is resized so I'm not sure why it would be "distorted" in this case. Do you have a sample that demonstrates getting into that state? In the interim you can set/clear the value of that property for the panes in that splitpane (e.g. cp.ClearValue(SplitPane.RelativeSizeProperty) ).