Browse Source

Made middle mouse work

Krzysztof Krysiński 1 year ago
parent
commit
e848b9dcfc

+ 2 - 2
src/PixiEditor.AvaloniaUI/ViewModels/SubViewModels/IoViewModel.cs

@@ -39,7 +39,7 @@ internal class IoViewModel : SubViewModel<ViewModelMain>
         MouseDownCommand = new RelayCommand<MouseOnCanvasEventArgs>(mouseFilter.MouseDownInlet);
         MouseMoveCommand = new RelayCommand<MouseOnCanvasEventArgs>(mouseFilter.MouseMoveInlet);
         MouseUpCommand = new RelayCommand<MouseOnCanvasEventArgs>(mouseFilter.MouseUpInlet);
-        PreviewMouseMiddleButtonCommand = new RelayCommand(OnPreviewMiddleMouseButton);
+        PreviewMouseMiddleButtonCommand = new RelayCommand(OnMiddleMouseButton);
         // TODO: Implement mouse capturing
         //GlobalMouseHook.Instance.OnMouseUp += mouseFilter.MouseUpInlet;
 
@@ -207,7 +207,7 @@ internal class IoViewModel : SubViewModel<ViewModelMain>
         tools.SetActiveTool<EraserToolViewModel>(true);
     }
     
-    private void OnPreviewMiddleMouseButton()
+    private void OnMiddleMouseButton()
     {
         Owner.ToolsSubViewModel.SetActiveTool<MoveViewportToolViewModel>(true);
     }

+ 1 - 1
src/PixiEditor.AvaloniaUI/Views/Main/Viewport.axaml

@@ -30,7 +30,7 @@
     d:DesignWidth="800">
     <Grid
         x:Name="viewportGrid"
-        PointerPressed="Image_MouseDown">
+        >
         <Interaction.Behaviors>
             <!--TODO: Implement stylus support-->
             <!--<EventTriggerBehavior EventName="StylusButtonDown">

+ 2 - 0
src/PixiEditor.AvaloniaUI/Views/Main/Viewport.axaml.cs

@@ -325,11 +325,13 @@ internal partial class Viewport : UserControl, INotifyPropertyChanged
 
     private void OnUnload(object sender, RoutedEventArgs e)
     {
+        viewportGrid.RemoveHandler(PointerPressedEvent, Image_MouseDown);
         Document?.Operations.RemoveViewport(GuidValue);
     }
 
     private void OnLoad(object sender, RoutedEventArgs e)
     {
+        viewportGrid.AddHandler(PointerPressedEvent, Image_MouseDown, RoutingStrategies.Tunnel);
         Document?.Operations.AddOrUpdateViewport(GetLocation());
     }