Selaa lähdekoodia

Remove MainDrawingPanel

Equbuxu 4 vuotta sitten
vanhempi
commit
5b8cc538b8

+ 7 - 7
PixiEditor/Views/UserControls/DrawingViewPort.xaml

@@ -15,9 +15,8 @@
         <BooleanToVisibilityConverter x:Key="BoolToVisibilityConverter" />
         <converters:IntToViewportRectConverter x:Key="IntToViewportRectConverter" />
     </UserControl.Resources>
-    <vws:MainDrawingPanel x:Name="DrawingPanel"
-                          IsUsingMoveViewportTool="{Binding IsUsingMoveViewportTool, ElementName=uc}"
-                          IsUsingZoomTool="{Binding IsUsingZoomTool, ElementName=uc}">
+
+    <local:Zoombox x:Name="zoombox" ClipToBounds="True">
         <i:Interaction.Triggers>
             <i:EventTrigger EventName="MouseMove">
                 <i:InvokeCommandAction Command="{Binding MouseMoveCommand, ElementName=uc}" />
@@ -30,11 +29,12 @@
             </i:EventTrigger>
         </i:Interaction.Triggers>
         <i:Interaction.Behaviors>
-            <behaviors:MouseBehavior RelativeTo="{Binding ElementName=DrawingPanel, Path=Item}"
+            <behaviors:MouseBehavior RelativeTo="{Binding ElementName=zoombox, Path=AdditionalContent}"
                                                   MouseX="{Binding MouseXOnCanvas, Mode=TwoWay, ElementName=uc}"
                                                   MouseY="{Binding MouseYOnCanvas, Mode=TwoWay, ElementName=uc}" />
         </i:Interaction.Behaviors>
-        <vws:MainDrawingPanel.Item>
+
+        <local:Zoombox.AdditionalContent>
             <Canvas Width="{Binding Width}"
                                 Height="{Binding Height}" VerticalAlignment="Center"
                                 HorizontalAlignment="Center">
@@ -112,6 +112,6 @@
                     </Rectangle>
                 </Grid>
             </Canvas>
-        </vws:MainDrawingPanel.Item>
-    </vws:MainDrawingPanel>
+        </local:Zoombox.AdditionalContent>
+    </local:Zoombox>
 </UserControl>

+ 12 - 2
PixiEditor/Views/UserControls/DrawingViewPort.xaml.cs

@@ -30,10 +30,10 @@ namespace PixiEditor.Views.UserControls
             DependencyProperty.Register(nameof(GridLinesVisible), typeof(bool), typeof(DrawingViewPort), new PropertyMetadata(false));
 
         public static readonly DependencyProperty IsUsingZoomToolProperty =
-            DependencyProperty.Register(nameof(IsUsingZoomTool), typeof(bool), typeof(DrawingViewPort), new PropertyMetadata(false));
+            DependencyProperty.Register(nameof(IsUsingZoomTool), typeof(bool), typeof(DrawingViewPort), new PropertyMetadata(false, ToolChanged));
 
         public static readonly DependencyProperty IsUsingMoveViewportToolProperty =
-            DependencyProperty.Register(nameof(IsUsingMoveViewportTool), typeof(bool), typeof(DrawingViewPort), new PropertyMetadata(false));
+            DependencyProperty.Register(nameof(IsUsingMoveViewportTool), typeof(bool), typeof(DrawingViewPort), new PropertyMetadata(false, ToolChanged));
 
         public ICommand MiddleMouseClickedCommand
         {
@@ -82,6 +82,16 @@ namespace PixiEditor.Views.UserControls
         }
 
         public RelayCommand PreviewMouseDownCommand { get; private set; }
+        private static void ToolChanged(DependencyObject sender, DependencyPropertyChangedEventArgs args)
+        {
+            var panel = (DrawingViewPort)sender;
+            if (panel.IsUsingZoomTool)
+                panel.zoombox.ZoomMode = Zoombox.Mode.ZoomTool;
+            else if (panel.IsUsingMoveViewportTool)
+                panel.zoombox.ZoomMode = Zoombox.Mode.MoveTool;
+            else
+                panel.zoombox.ZoomMode = Zoombox.Mode.Normal;
+        }
 
         public DrawingViewPort()
         {

+ 0 - 20
PixiEditor/Views/UserControls/MainDrawingPanel.xaml

@@ -1,20 +0,0 @@
-<UserControl x:Class="PixiEditor.Views.MainDrawingPanel"
-             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
-             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
-             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
-             xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
-             xmlns:local="clr-namespace:PixiEditor.Views"
-             xmlns:userc="clr-namespace:PixiEditor.Views.UserControls"
-             xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
-             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">
-    <Grid>
-        <userc:Zoombox AdditionalContent="{Binding Item, ElementName=mainDrawingPanel}" x:Name="zoombox" />
-        <xctk:Zoombox Cursor="{Binding Cursor, ElementName=mainDrawingPanel}" KeepContentInBounds="False" Visibility="Hidden"
-                  IsAnimated="False" DragModifiers="Blocked" ZoomModifiers="None">
-
-        </xctk:Zoombox>
-    </Grid>
-</UserControl>

+ 0 - 51
PixiEditor/Views/UserControls/MainDrawingPanel.xaml.cs

@@ -1,51 +0,0 @@
-using PixiEditor.Views.UserControls;
-using System.Windows;
-using System.Windows.Controls;
-
-namespace PixiEditor.Views
-{
-    public partial class MainDrawingPanel : UserControl
-    {
-        public static readonly DependencyProperty ItemProperty =
-            DependencyProperty.Register(nameof(Item), typeof(object), typeof(MainDrawingPanel), new PropertyMetadata(default(FrameworkElement)));
-
-        public static readonly DependencyProperty IsUsingZoomToolProperty =
-            DependencyProperty.Register(nameof(IsUsingZoomTool), typeof(bool), typeof(MainDrawingPanel), new PropertyMetadata(false, ToolChanged));
-
-        public static readonly DependencyProperty IsUsingMoveViewportToolProperty =
-            DependencyProperty.Register(nameof(IsUsingMoveViewportTool), typeof(bool), typeof(MainDrawingPanel), new PropertyMetadata(false, ToolChanged));
-
-        public object Item
-        {
-            get => GetValue(ItemProperty);
-            set => SetValue(ItemProperty, value);
-        }
-
-        public bool IsUsingZoomTool
-        {
-            get => (bool)GetValue(IsUsingZoomToolProperty);
-            set => SetValue(IsUsingZoomToolProperty, value);
-        }
-        public bool IsUsingMoveViewportTool
-        {
-            get => (bool)GetValue(IsUsingMoveViewportToolProperty);
-            set => SetValue(IsUsingMoveViewportToolProperty, value);
-        }
-
-        public MainDrawingPanel()
-        {
-            InitializeComponent();
-        }
-
-        private static void ToolChanged(DependencyObject sender, DependencyPropertyChangedEventArgs args)
-        {
-            var panel = (MainDrawingPanel)sender;
-            if (panel.IsUsingZoomTool)
-                panel.zoombox.ZoomMode = Zoombox.Mode.ZoomTool;
-            else if (panel.IsUsingMoveViewportTool)
-                panel.zoombox.ZoomMode = Zoombox.Mode.MoveTool;
-            else
-                panel.zoombox.ZoomMode = Zoombox.Mode.Normal;
-        }
-    }
-}