diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutAnchorablePaneControl.cs b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutAnchorablePaneControl.cs index 8a1d8106..15640993 100644 --- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutAnchorablePaneControl.cs +++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutAnchorablePaneControl.cs @@ -62,7 +62,7 @@ namespace Xceed.Wpf.AvalonDock.Controls protected override void OnGotKeyboardFocus(System.Windows.Input.KeyboardFocusChangedEventArgs e) { - if (_model?.SelectedContent != null) + if ((_model != null) && (_model.SelectedContent != null)) { _model.SelectedContent.IsActive = true; } diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutGridControl.cs b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutGridControl.cs index 94d4f831..c96e26dd 100644 --- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutGridControl.cs +++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutGridControl.cs @@ -72,6 +72,8 @@ namespace Xceed.Wpf.AvalonDock.Controls _model.ChildrenTreeChanged += (s, args) => { + if (args.Change != ChildrenTreeChange.DirectChildrenChanged) + return; if (_asyncRefreshCalled.HasValue && _asyncRefreshCalled.Value == args.Change) return; diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutItem.cs b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutItem.cs index e23ec50b..ae47bdb1 100644 --- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutItem.cs +++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutItem.cs @@ -204,9 +204,15 @@ namespace Xceed.Wpf.AvalonDock.Controls _view = new ContentPresenter(); _view.SetBinding(ContentPresenter.ContentProperty, new Binding("Content") { Source = LayoutElement }); - _view.SetBinding(ContentPresenter.ContentTemplateProperty, new Binding("LayoutItemTemplate") { Source = LayoutElement?.Root?.Manager}); - _view.SetBinding(ContentPresenter.ContentTemplateSelectorProperty, new Binding("LayoutItemTemplateSelector") { Source = LayoutElement?.Root?.Manager }); - LayoutElement?.Root?.Manager.InternalAddLogicalChild(_view); + if ((LayoutElement != null) && (LayoutElement.Root != null)) + { + _view.SetBinding(ContentPresenter.ContentTemplateProperty, new Binding("LayoutItemTemplate") { Source = LayoutElement.Root.Manager }); + _view.SetBinding(ContentPresenter.ContentTemplateSelectorProperty, new Binding("LayoutItemTemplateSelector") { Source = LayoutElement.Root.Manager }); + if (LayoutElement.Root.Manager != null) + { + LayoutElement.Root.Manager.InternalAddLogicalChild(_view); + } + } } return _view;