From 2c661562965ba03b581c1d56e7583e0f202bcd72 Mon Sep 17 00:00:00 2001 From: Siegfried Pammer Date: Sun, 12 Dec 2021 14:02:14 +0100 Subject: [PATCH] Fix NavigatorWindow not working if there is only one document and/or anchorable. --- .../AvalonDock/Controls/NavigatorWindow.cs | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/source/Components/AvalonDock/Controls/NavigatorWindow.cs b/source/Components/AvalonDock/Controls/NavigatorWindow.cs index f488d12f..a75c1ddb 100644 --- a/source/Components/AvalonDock/Controls/NavigatorWindow.cs +++ b/source/Components/AvalonDock/Controls/NavigatorWindow.cs @@ -58,15 +58,19 @@ internal NavigatorWindow(DockingManager manager) SetAnchorables(_manager.Layout.Descendents().OfType().Where(a => a.IsVisible).Select(d => (LayoutAnchorableItem)_manager.GetLayoutItemFromModel(d)).ToArray()); SetDocuments(_manager.Layout.Descendents().OfType().OrderByDescending(d => d.LastActivationTimeStamp.GetValueOrDefault()).Select(d => (LayoutDocumentItem)_manager.GetLayoutItemFromModel(d)).ToArray()); _internalSetSelectedDocument = false; - if (Documents.Length > 1) + if (Documents.Length > 0) { - InternalSetSelectedDocument(Documents[1]); + InternalSetSelectedDocument(Documents[0]); _isSelectingDocument = true; } - else if (Anchorables.Count() > 1) + else { - InternalSetSelectedAnchorable(Anchorables.ToArray()[1]); - _isSelectingDocument = false; + var anchorable = Anchorables.FirstOrDefault(); + if (anchorable != null) + { + InternalSetSelectedAnchorable(anchorable); + _isSelectingDocument = false; + } } DataContext = this; Loaded += OnLoaded;