Browse Source

Fixed mouse wheel center zoom

flabbet 5 years ago
parent
commit
b90f0dad7e

+ 2 - 2
PixiEditor/Views/MainDrawingPanel.xaml

@@ -8,8 +8,8 @@
              xmlns:helpers="clr-namespace:PixiEditor.Helpers"
              xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
              mc:Ignorable="d"
-             d:DesignHeight="450" d:DesignWidth="800" x:Name="mainDrawingPanel">
-    <xctk:Zoombox PreviewMouseDown="Zoombox_MouseDown" MouseUp="Zoombox_MouseUp"  Cursor="{Binding Cursor}" Name="Zoombox" KeepContentInBounds="True"
+             d:DesignHeight="450" d:DesignWidth="800" x:Name="mainDrawingPanel" PreviewMouseWheel="Zoombox_MouseWheel">
+    <xctk:Zoombox PreviewMouseDown="Zoombox_MouseDown"  Cursor="{Binding Cursor}" Name="Zoombox" KeepContentInBounds="True"
                   Loaded="Zoombox_Loaded" IsAnimated="True" CurrentViewChanged="Zoombox_CurrentViewChanged" AnimationDuration="00:00:0.2" DragModifiers="Shift" ZoomModifiers="None">
         <i:Interaction.Triggers>
             <i:EventTrigger EventName="MouseMove">

+ 7 - 2
PixiEditor/Views/MainDrawingPanel.xaml.cs

@@ -151,9 +151,14 @@ namespace PixiEditor.Views
             ClickScale = Zoombox.Scale;
         }
 
-        private void Zoombox_MouseUp(object sender, MouseButtonEventArgs e)
+        private void Zoombox_MouseWheel(object sender, MouseWheelEventArgs e)
         {
-
+            Point point = new Point(0.5, 0.5);
+            if (Zoombox.ZoomOrigin != point)
+            {
+                Zoombox.CenterContent();
+                Zoombox.ZoomOrigin = point;
+            }
         }
     }
 }