diff --git a/source/Components/Xceed.Wpf.AvalonDock/Controls/LayoutGridControl.cs b/source/Components/Xceed.Wpf.AvalonDock/Controls/LayoutGridControl.cs index 0d7cd70a..d281a2ee 100644 --- a/source/Components/Xceed.Wpf.AvalonDock/Controls/LayoutGridControl.cs +++ b/source/Components/Xceed.Wpf.AvalonDock/Controls/LayoutGridControl.cs @@ -607,6 +607,10 @@ public virtual void AdjustFixedChildrenPanelSizes(Size? parentSize = null) { child.AdjustFixedChildrenPanelSizes(availableSize); } + + // #81 - Make parents update their children up the tree. Otherwise, they will not be redrawn. + if (parentSize == null) + _model.RaiseChildrenTreeChanged(); } private FrameworkElement GetNextVisibleChild( int index ) diff --git a/source/Components/Xceed.Wpf.AvalonDock/Layout/LayoutGroupBase.cs b/source/Components/Xceed.Wpf.AvalonDock/Layout/LayoutGroupBase.cs index 442a9c22..7f0af4bd 100644 --- a/source/Components/Xceed.Wpf.AvalonDock/Layout/LayoutGroupBase.cs +++ b/source/Components/Xceed.Wpf.AvalonDock/Layout/LayoutGroupBase.cs @@ -38,6 +38,14 @@ protected void NotifyChildrenTreeChanged( ChildrenTreeChange change ) parentGroup.NotifyChildrenTreeChanged( ChildrenTreeChange.TreeChanged ); } + internal void RaiseChildrenTreeChanged() + { + OnChildrenTreeChanged(ChildrenTreeChange.DirectChildrenChanged); + var parentGroup = Parent as LayoutGroupBase; + if (parentGroup != null) + parentGroup.RaiseChildrenTreeChanged(); + } + protected virtual void OnChildrenTreeChanged( ChildrenTreeChange change ) { if( ChildrenTreeChanged != null )