Browse Source

Fixed nulling active document

Krzysztof Krysiński 1 year ago
parent
commit
96e7b1987f

+ 4 - 1
src/PixiEditor.AvaloniaUI/ViewModels/Document/DocumentManagerViewModel.cs

@@ -50,7 +50,10 @@ internal class DocumentManagerViewModel : SubViewModel<ViewModelMain>, IDocument
 
     public DocumentManagerViewModel(ViewModelMain owner) : base(owner)
     {
-        owner.WindowSubViewModel.ActiveViewportChanged += (_, args) => ActiveDocument = args.Document;
+        owner.WindowSubViewModel.ActiveViewportChanged += (_, args) =>
+        {
+            ActiveDocument = args.Document;
+        };
     }
 
     public void MakeActiveDocumentNull() => ActiveDocument = null;

+ 2 - 1
src/PixiEditor.AvaloniaUI/ViewModels/SubViewModels/WindowViewModel.cs

@@ -104,7 +104,8 @@ internal class WindowViewModel : SubViewModel<ViewModelMain>
             Owner.DocumentManagerSubViewModel.MakeActiveDocumentNull();
             return;
         }
-        ActiveWindow = Viewports.Where(viewport => viewport.Document == doc).FirstOrDefault();
+
+        ActiveWindow = Viewports.FirstOrDefault(viewport => viewport.Document == doc);
     }
 
     public string CalculateViewportIndex(ViewportWindowViewModel viewport)

+ 5 - 0
src/PixiEditor.AvaloniaUI/Views/Dock/NavigationDockView.axaml

@@ -4,8 +4,13 @@
              xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
              xmlns:main="clr-namespace:PixiEditor.AvaloniaUI.Views.Main"
              xmlns:converters="clr-namespace:PixiEditor.AvaloniaUI.Helpers.Converters"
+             xmlns:dock="clr-namespace:PixiEditor.AvaloniaUI.ViewModels.Dock"
              mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
+             x:DataType="dock:NavigationDockViewModel"
              x:Class="PixiEditor.AvaloniaUI.Views.Dock.NavigationDockView">
+    <Design.DataContext>
+        <dock:NavigationDockViewModel/>
+    </Design.DataContext>
     <main:Navigation Document="{Binding DocumentManagerSubViewModel.ActiveDocument}"
                      PrimaryColor="{Binding ColorsSubViewModel.PrimaryColor, Mode=TwoWay, Converter={converters:GenericColorToMediaColorConverter}}"/>
 </UserControl>