Переглянути джерело

Merge branch 'compdfkit_demo_win_rebuild' of http://git.kdan.cc:8865/Others/kmpdfkit_demo into compdfkit_demo_win_rebuild

# Conflicts:
#	Demo/Examples/Compdfkit_Tools/PDFView/PDFViewControl/PDFViewControl.xaml
#	Demo/Examples/Compdfkit_Tools/PDFView/PDFViewControl/PDFViewControl.xaml.cs
zhuyi 1 рік тому
батько
коміт
d26a1e0954

+ 21 - 14
Demo/Examples/Compdfkit_Tools/Common/BaseControl/PageNumberControl.xaml.cs

@@ -24,17 +24,24 @@ namespace Compdfkit_Tools.Common
             {
                 if (pdfView != null)
                 {
-                    pdfView.PDFViewTool.DrawChanged -= PdfView_InfoChanged;
+                    pdfView.DrawChanged -= PdfView_InfoChanged;
                 }
                 pdfView = newPDFView;
                 if (pdfView != null)
                 {
-                    pdfView.PDFViewTool.DrawChanged -= PdfView_InfoChanged;
-                    pdfView.PDFViewTool.DrawChanged += PdfView_InfoChanged;
+                    pdfView.DrawChanged -= PdfView_InfoChanged;
+                    pdfView.FocusPDFViewToolChanged -= PdfView_FocusPDFViewToolChanged;
+                    pdfView.DrawChanged += PdfView_InfoChanged;
+                    pdfView.FocusPDFViewToolChanged += PdfView_FocusPDFViewToolChanged;
                 }
             }
         }
 
+        private void PdfView_FocusPDFViewToolChanged(object sender, EventArgs e)
+        {
+            PageRangeText.Text = $"{pdfView.GetCPDFViewer().CurrentRenderFrame.PageIndex+1}/{pdfView.GetCPDFViewer().GetDocument().PageCount}";
+        }
+
         private void PdfView_InfoChanged(object sender, EventArgs e)
         {
             if (sender is CPDFViewerTool)
@@ -47,13 +54,13 @@ namespace Compdfkit_Tools.Common
         private void NextPageBorder_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
         {
             SetPageRangeVisible();
-            if (pdfView.PDFViewTool.GetCPDFViewer().GetViewMode() == ComPDFKitViewer.ViewModes.Single || pdfView.PDFViewTool.GetCPDFViewer().GetViewMode() == ComPDFKitViewer.ViewModes.SingleContinuous)
+            if (pdfView.GetCPDFViewer().GetViewMode() == ComPDFKitViewer.ViewModes.Single || pdfView.GetCPDFViewer().GetViewMode() == ComPDFKitViewer.ViewModes.SingleContinuous)
             {
-                pdfView.PDFViewTool.GetCPDFViewer().GoToPage(pdfView.PDFViewTool.GetCPDFViewer().CurrentRenderFrame.PageIndex + 1,new Point(0,0));
+                pdfView.GetCPDFViewer().GoToPage(pdfView.GetCPDFViewer().CurrentRenderFrame.PageIndex + 1,new Point(0,0));
             }
             else
             {
-                pdfView.PDFViewTool.GetCPDFViewer().GoToPage(pdfView.PDFViewTool.GetCPDFViewer().CurrentRenderFrame.PageIndex + 2, new Point(0, 0));
+                pdfView.GetCPDFViewer().GoToPage(pdfView.GetCPDFViewer().CurrentRenderFrame.PageIndex + 2, new Point(0, 0));
             }
 
         }
@@ -61,22 +68,22 @@ namespace Compdfkit_Tools.Common
         private void PrevPageBorder_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
         {
             SetPageRangeVisible();
-            if (pdfView.PDFViewTool.GetCPDFViewer().GetViewMode() == ComPDFKitViewer.ViewModes.Single || pdfView.PDFViewTool.GetCPDFViewer().GetViewMode() == ComPDFKitViewer.ViewModes.SingleContinuous)
+            if (pdfView.GetCPDFViewer().GetViewMode() == ComPDFKitViewer.ViewModes.Single || pdfView.GetCPDFViewer().GetViewMode() == ComPDFKitViewer.ViewModes.SingleContinuous)
             {
-                pdfView.PDFViewTool.GetCPDFViewer().GoToPage(pdfView.PDFViewTool.GetCPDFViewer().CurrentRenderFrame.PageIndex - 1, new Point(0, 0));
+                pdfView.GetCPDFViewer().GoToPage(pdfView.GetCPDFViewer().CurrentRenderFrame.PageIndex - 1, new Point(0, 0));
             }
             else
             {
-                pdfView.PDFViewTool.GetCPDFViewer().GoToPage(pdfView.PDFViewTool.GetCPDFViewer().CurrentRenderFrame.PageIndex - 2, new Point(0, 0));
+                pdfView.GetCPDFViewer().GoToPage(pdfView.GetCPDFViewer().CurrentRenderFrame.PageIndex - 2, new Point(0, 0));
             }
         }
 
         private void PageRangeText_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
         {
             PageRangeText.Visibility = Visibility.Collapsed;
-            if(pdfView!=null && pdfView.PDFViewTool.GetCPDFViewer().GetDocument() != null)
+            if(pdfView!=null && pdfView.GetCPDFViewer().GetDocument() != null)
             {
-                PageInputText.Text =string.Format("{0}", pdfView.PDFViewTool.GetCPDFViewer().CurrentRenderFrame.PageIndex + 1);
+                PageInputText.Text =string.Format("{0}", pdfView.GetCPDFViewer().CurrentRenderFrame.PageIndex + 1);
             }
             PageInputText.Visibility = Visibility.Visible;
             PageInputText.Focus();
@@ -105,14 +112,14 @@ namespace Compdfkit_Tools.Common
 
         private void SetInputPage()
         {
-            if (pdfView != null && pdfView.PDFViewTool.GetCPDFViewer().GetDocument() != null)
+            if (pdfView != null && pdfView.GetCPDFViewer().GetDocument() != null)
             {
 
                 if (int.TryParse(PageInputText.Text, out int newPageNum))
                 {
-                    newPageNum = Math.Min(pdfView.PDFViewTool.GetCPDFViewer().GetDocument().PageCount, newPageNum);
+                    newPageNum = Math.Min(pdfView.GetCPDFViewer().GetDocument().PageCount, newPageNum);
                     newPageNum = Math.Max(1, newPageNum);
-                    pdfView.PDFViewTool.GetCPDFViewer().GoToPage(newPageNum-1,new Point(0,0));
+                    pdfView.GetCPDFViewer().GoToPage(newPageNum-1,new Point(0,0));
                 }
             }
         }

+ 1 - 1
Demo/Examples/Compdfkit_Tools/Edit/ContentEditCOntrol/ContentEditControl.xaml.cs

@@ -381,7 +381,7 @@ namespace Compdfkit_Tools.PDFControl
             {
                 case MouseHitTestType.kAnnot:
                 case MouseHitTestType.kSelectRect:
-                    CreateAnnotContextMenu(sender, ref ContextMenu, e.annotType);
+                    CreateAnnotContextMenu(sender, ref ContextMenu, e.annotType); 
                     break;
                 default:
                     ContextMenu = null;

+ 3 - 3
Demo/Examples/Compdfkit_Tools/PDFView/PDFDisplaySettings/PDFDisplaySettingsControl/CPDFDisplaySettingsControl.xaml.cs

@@ -64,8 +64,8 @@ namespace Compdfkit_Tools.PDFControl
         public void InitWithPDFViewer(PDFViewControl viewControl)
         {
             ViewControl = viewControl;
-            ViewControl.SelectedPDFViewToolChanged -= PDFViewControl_SelectedPDFViewToolChanged;
-            ViewControl.SelectedPDFViewToolChanged += PDFViewControl_SelectedPDFViewToolChanged;
+            ViewControl.FocusPDFViewToolChanged -= PDFViewControl_FocusPDFViewToolChanged;
+            ViewControl.FocusPDFViewToolChanged += PDFViewControl_FocusPDFViewToolChanged;
             if(ViewControl != null && ViewControl.PDFViewTool!=null)
             {
                CPDFViewer pdfViewer=  viewControl.PDFViewTool.GetCPDFViewer();
@@ -87,7 +87,7 @@ namespace Compdfkit_Tools.PDFControl
             DrawModeUI.DrawModeChanged += DrawModeUI_DrawModeChanged;
         }
 
-        private void PDFViewControl_SelectedPDFViewToolChanged(object sender,EventArgs e)
+        private void PDFViewControl_FocusPDFViewToolChanged(object sender,EventArgs e)
         {
             if (ViewControl != null && ViewControl.PDFViewTool != null)
             {

+ 13 - 1
Demo/Examples/Compdfkit_Tools/PDFView/PDFDisplaySettings/PDFDisplaySettingsUI/CPDFViewModeUI.xaml.cs

@@ -221,11 +221,23 @@ namespace Compdfkit_Tools.PDFControlUI
             if (visibility == Visibility.Visible)
             {
                 DisplayContainer.Margin = new Thickness(0,30,0,0);
+                if((bool)VerticalBtn.IsChecked)
+                {
+                    SplitModeChanged.Invoke(this,SplitMode.Vertical);
+                }
+                if ((bool)HorizonBtn.IsChecked)
+                {
+                    SplitModeChanged.Invoke(this, SplitMode.Horizontal);
+                }
             }
             else
             {
+                if((bool)VerticalBtn.IsChecked || (bool)HorizonBtn.IsChecked)
+                {
+                    SplitModeChanged.Invoke(this,SplitMode.None);
+                }
                 DisplayContainer.Margin = new Thickness(0);
-            } 
+            }
         }
 
         public void SetCropContainerVisibility(Visibility visibility)

+ 14 - 6
Demo/Examples/Compdfkit_Tools/PDFView/PDFScaling/PDFScalingControl/CPDFScalingControl.xaml.cs

@@ -24,7 +24,7 @@ namespace Compdfkit_Tools.PDFControl
         {
             if (Keyboard.IsKeyDown(Key.LeftCtrl) || Keyboard.IsKeyDown(Key.RightCtrl))
             {
-                CPDFViewer pdfViewer = ViewControl.PDFViewTool.GetCPDFViewer();
+                CPDFViewer pdfViewer = ViewControl.GetCPDFViewer();
                 SetZoomTextBoxText(string.Format("{0}", (int)(pdfViewer.GetZoom() * 100)));
             }
         }
@@ -35,13 +35,21 @@ namespace Compdfkit_Tools.PDFControl
             CPDFScalingUI.ScaleIncreaseEvent -= PDFScalingControl_ScaleIncreaseEvent;
             CPDFScalingUI.ScaleDecreaseEvent -= PDFScalingControl_ScaleDecreaseEvent;
             CPDFScalingUI.SetPresetScaleEvent -= CPDFScalingUI_SetPresetScaleEvent;
-            ViewControl.PDFViewTool.GetCPDFViewer().MouseWheelZoomHandler -= PDFControl_MouseWheelZoomHandler;
+            ViewControl.MouseWheelZoomHandler -= PDFControl_MouseWheelZoomHandler;
+            ViewControl.FocusPDFViewToolChanged -= ViewControl_FocusPDFViewToolChanged;
 
             CPDFScalingUI.SetScaleEvent += PDFScalingControl_SetScaleEvent;
             CPDFScalingUI.ScaleIncreaseEvent += PDFScalingControl_ScaleIncreaseEvent;
             CPDFScalingUI.ScaleDecreaseEvent += PDFScalingControl_ScaleDecreaseEvent;
             CPDFScalingUI.SetPresetScaleEvent += CPDFScalingUI_SetPresetScaleEvent;
-            ViewControl.PDFViewTool.GetCPDFViewer().MouseWheelZoomHandler += PDFControl_MouseWheelZoomHandler;
+            ViewControl.MouseWheelZoomHandler += PDFControl_MouseWheelZoomHandler;
+            ViewControl.FocusPDFViewToolChanged += ViewControl_FocusPDFViewToolChanged;
+        }
+
+        private void ViewControl_FocusPDFViewToolChanged(object sender, EventArgs e)
+        {
+            CPDFViewer pdfViewer = ViewControl.GetCPDFViewer();
+            SetZoomTextBoxText(string.Format("{0}", (int)(pdfViewer.GetZoom() * 100)));
         }
 
         private void CPDFScalingUI_Unloaded(object sender, RoutedEventArgs e)
@@ -50,7 +58,7 @@ namespace Compdfkit_Tools.PDFControl
             CPDFScalingUI.ScaleIncreaseEvent -= PDFScalingControl_ScaleIncreaseEvent;
             CPDFScalingUI.ScaleDecreaseEvent -= PDFScalingControl_ScaleDecreaseEvent;
             CPDFScalingUI.SetPresetScaleEvent -= CPDFScalingUI_SetPresetScaleEvent;
-            ViewControl.PDFViewTool.GetCPDFViewer().MouseWheelZoomHandler -= PDFControl_MouseWheelZoomHandler;
+            ViewControl.MouseWheelZoomHandler -= PDFControl_MouseWheelZoomHandler;
         }
 
         private void PDFScalingControl_ScaleDecreaseEvent(object sender, EventArgs e)
@@ -59,7 +67,7 @@ namespace Compdfkit_Tools.PDFControl
             {
                 return;
             }
-            CPDFViewer pdfViewer = ViewControl.PDFViewTool.GetCPDFViewer();
+            CPDFViewer pdfViewer = ViewControl.GetCPDFViewer();
             if (pdfViewer == null)
             {
                 return;
@@ -90,7 +98,7 @@ namespace Compdfkit_Tools.PDFControl
             {
                 return;
             }
-            CPDFViewer pdfViewer = ViewControl.PDFViewTool.GetCPDFViewer();
+            CPDFViewer pdfViewer = ViewControl.GetCPDFViewer();
             if (pdfViewer == null)
             {
                 return;

+ 1 - 1
Demo/Examples/Compdfkit_Tools/PDFView/PDFViewControl/PDFViewControl.xaml

@@ -19,7 +19,7 @@
         <Border Tag="ViewerTool" MouseDown="PDFView_MouseDown"  MinWidth="20" MinHeight="20" x:Name="PDFView" Grid.Row="0" Grid.Column="0"/>
         <GridSplitter x:Name="VerticalSplitter" ResizeDirection="Columns" HorizontalAlignment="Stretch" Grid.Column="1" Width="15" Background="LightGray" Visibility="Collapsed"/>
         <GridSplitter x:Name="HorizontalSplitter" ResizeDirection="Rows" VerticalAlignment="Stretch" Grid.Row="1" Width="{Binding ElementName=ViewToolGrid,Path=ActualWidth}" Height="15" Background="LightGray" Visibility="Collapsed"/>
-        <Border Tag="SplitViewerTool" MouseDown="PDFView_MouseDown" MinWidth="20" x:Name="VerticalView" Grid.Row="0" Grid.Column="2" Visibility="Visible"/>
+        <Border Tag="SplitViewerTool" MouseDown="PDFView_MouseDown" MinWidth="20" x:Name="VerticalView" Grid.Row="0" Grid.Column="2"/>
         <Border Tag="SplitViewerTool" MouseDown="PDFView_MouseDown" MinHeight="20" x:Name="HorizontalView" Grid.Column="0" Grid.Row="2" Visibility="Collapsed"/>
     </Grid>
 </UserControl>

+ 61 - 13
Demo/Examples/Compdfkit_Tools/PDFView/PDFViewControl/PDFViewControl.xaml.cs

@@ -36,11 +36,13 @@ namespace Compdfkit_Tools.PDFControl
         public CPDFViewerTool FocusPDFViewTool { get;private set; }
 
         //public event EventHandler SplitPDFViewToolCreated;
-        public event EventHandler SelectedPDFViewToolChanged;
+        public event EventHandler FocusPDFViewToolChanged;
         public event EventHandler<MouseEventObject> MouseLeftButtonDownHandler;
         public event EventHandler<MouseEventObject> MouseLeftButtonUpHandler;
         public event EventHandler<MouseEventObject> MouseMoveHandler;
         public event EventHandler<MouseEventObject> MouseRightButtonDownHandler;
+        public event EventHandler<ComPDFKitViewer.MouseWheelZoomArgs> MouseWheelZoomHandler;
+        public event EventHandler DrawChanged;
 
         //private ContextMenu RightMenu;
         #region Properties
@@ -56,6 +58,7 @@ namespace Compdfkit_Tools.PDFControl
 
             viewerTool = new CPDFViewerTool();
             toolManager = new CPDFToolManager(viewerTool);
+            Loaded += PDFViewControl_Loaded;
             PDFViewTool = viewerTool;
             PDFToolManager = toolManager;
             PDFToolManager.SetToolType(CPDFToolManager.ToolType.Viewer);
@@ -66,23 +69,27 @@ namespace Compdfkit_Tools.PDFControl
 
             FocusPDFViewTool = viewerTool;
             PDFView.Child = PDFViewTool;
+            VerticalView.Child = splitViewerTool;
 
             PDFViewTool.SizeChanged -= PDFViewTool_SizeChanged;
             PDFViewTool.GetCPDFViewer().MouseWheelZoomHandler -= PDFViewControl_MouseWheelZoomHandler;
+            PDFViewTool.DrawChanged -= PDFViewTool_DrawChanged;
             PDFToolManager.MouseLeftButtonDownHandler -= PDFToolManager_MouseLeftButtonDownHandler;
             PDFToolManager.MouseLeftButtonUpHandler -= PDFToolManager_MouseLeftButtonUpHandler;
             PDFToolManager.MouseMoveHandler -= PDFToolManager_MouseMoveHandler;
-            PDFToolManager.MouseRightButtonDownHandler -= PDFToolManager_MouseRightButtonDownHandler;
+            PDFToolManager.AnnotDefaultEditedHandler -= PDFToolManager_AnnotDefaultEditedHandler;
 
             PDFViewTool.SizeChanged += PDFViewTool_SizeChanged;
             PDFViewTool.GetCPDFViewer().MouseWheelZoomHandler += PDFViewControl_MouseWheelZoomHandler;
+            PDFViewTool.DrawChanged += PDFViewTool_DrawChanged;
             PDFToolManager.MouseLeftButtonDownHandler += PDFToolManager_MouseLeftButtonDownHandler;
             PDFToolManager.MouseLeftButtonUpHandler += PDFToolManager_MouseLeftButtonUpHandler;
             PDFToolManager.MouseMoveHandler += PDFToolManager_MouseMoveHandler;
-            PDFToolManager.MouseRightButtonDownHandler += PDFToolManager_MouseRightButtonDownHandler;
+            PDFToolManager.AnnotDefaultEditedHandler += PDFToolManager_AnnotDefaultEditedHandler;
 
             splitViewerTool.SizeChanged -= SplitViewerTool_SizeChanged;
             splitViewerTool.GetCPDFViewer().MouseWheelZoomHandler -= SplitPDFViewControl_MouseWheelZoomHandler;
+            splitViewerTool.DrawChanged -= PDFViewTool_DrawChanged;
             splitToolManager.MouseLeftButtonDownHandler -= PDFToolManager_MouseLeftButtonDownHandler;
             splitToolManager.MouseLeftButtonUpHandler -= PDFToolManager_MouseLeftButtonUpHandler;
             splitToolManager.MouseMoveHandler -= PDFToolManager_MouseMoveHandler;
@@ -90,16 +97,32 @@ namespace Compdfkit_Tools.PDFControl
 
             splitViewerTool.SizeChanged += SplitViewerTool_SizeChanged;
             splitViewerTool.GetCPDFViewer().MouseWheelZoomHandler += SplitPDFViewControl_MouseWheelZoomHandler;
+            splitViewerTool.DrawChanged += PDFViewTool_DrawChanged;
             splitToolManager.MouseLeftButtonDownHandler += PDFToolManager_MouseLeftButtonDownHandler;
             splitToolManager.MouseLeftButtonUpHandler += PDFToolManager_MouseLeftButtonUpHandler;
             splitToolManager.MouseMoveHandler += PDFToolManager_MouseMoveHandler;
-            splitToolManager.MouseRightButtonDownHandler += PDFToolManager_MouseRightButtonDownHandler;
+            splitToolManager.AnnotDefaultEditedHandler += PDFToolManager_AnnotDefaultEditedHandler;
+
+        }
+
+        private void PDFToolManager_AnnotDefaultEditedHandler(object sender, EventArgs e)
+        {
+            UpdateAnnotFrame();
+        }
+
+        private void PDFViewControl_Loaded(object sender, RoutedEventArgs e)
+        {
+            RemoveSplitViewerTool();
+        }
+
+        private void PDFViewTool_DrawChanged(object sender, EventArgs e)
+        {
+            DrawChanged?.Invoke(sender,e);
         }
 
         public ContextMenu GetRightMenu()
         {
-            FocusPDFViewTool.ContextMenu?.Items.Clear();
-            return FocusPDFViewTool.ContextMenu;
+          return  FocusPDFViewTool.ContextMenu;
         }
 
         public void SetRightMenu(ContextMenu contextMenu)
@@ -129,12 +152,12 @@ namespace Compdfkit_Tools.PDFControl
 
         private void PDFViewTool_SizeChanged(object sender, SizeChangedEventArgs e)
         {
-            PDFViewTool?.GetCPDFViewer()?.UpDateRenderFrame();
+            PDFViewTool.GetCPDFViewer().UpDateRenderFrame();
         }
 
         private void SplitViewerTool_SizeChanged(object sender, SizeChangedEventArgs e)
         {
-            splitViewerTool?.GetCPDFViewer()?.UpDateRenderFrame();
+            splitViewerTool.GetCPDFViewer().UpDateRenderFrame();
         }
 
         public void InitDocument(string Path)
@@ -156,6 +179,8 @@ namespace Compdfkit_Tools.PDFControl
 
         private void PDFViewControl_MouseWheelZoomHandler(object sender, ComPDFKitViewer.MouseWheelZoomArgs e)
         {
+            FocusPDFViewTool = PDFViewTool;
+            FocusPDFViewToolChanged?.Invoke(this, EventArgs.Empty);
             if (Keyboard.IsKeyDown(Key.LeftCtrl) || Keyboard.IsKeyDown(Key.RightCtrl))
             {
                 e.IsZoom = true;
@@ -164,10 +189,13 @@ namespace Compdfkit_Tools.PDFControl
                 PDFViewTool.GetCPDFViewer().SetZoom(CheckZoomLevel(zoom, Convert.ToBoolean(e.WheelBehavior)));
                 PDFViewTool?.GetCPDFViewer()?.UpDateRenderFrame();
             }
+            MouseWheelZoomHandler?.Invoke(this, e);
         }
 
         private void SplitPDFViewControl_MouseWheelZoomHandler(object sender, ComPDFKitViewer.MouseWheelZoomArgs e)
         {
+            FocusPDFViewTool = splitViewerTool;
+            FocusPDFViewToolChanged?.Invoke(this, EventArgs.Empty);
             if (Keyboard.IsKeyDown(Key.LeftCtrl) || Keyboard.IsKeyDown(Key.RightCtrl))
             {
                 e.IsZoom = true;
@@ -176,6 +204,7 @@ namespace Compdfkit_Tools.PDFControl
                 splitViewerTool.GetCPDFViewer().SetZoom(CheckZoomLevel(zoom, Convert.ToBoolean(e.WheelBehavior)));
                 splitViewerTool?.GetCPDFViewer()?.UpDateRenderFrame();
             }
+            MouseWheelZoomHandler?.Invoke(this, e);
         }
 
         public void SetSplitViewMode(SplitMode splitMode)
@@ -209,11 +238,11 @@ namespace Compdfkit_Tools.PDFControl
                     }
                     break;
             }
-            UpdateFrame();
+            UpdateRenderFrame();
             UpdateAnnotFrame();
         }
 
-        public void UpdateFrame()
+        public void UpdateRenderFrame()
         {
             viewerTool?.GetCPDFViewer()?.UpDateRenderFrame();
             splitViewerTool?.GetCPDFViewer()?.UpDateRenderFrame();
@@ -261,7 +290,12 @@ namespace Compdfkit_Tools.PDFControl
         {
             viewerTool?.GetCPDFViewer()?.SetDrawModes(drawMode.DrawMode);
             splitViewerTool?.GetCPDFViewer()?.SetDrawModes(drawMode.DrawMode);
-            UpdateFrame();
+            if (drawMode.DrawMode == DrawModes.Custom)
+            {
+                viewerTool?.GetCPDFViewer().SetPDFBackground(drawMode.CustomColor);
+                splitViewerTool?.GetCPDFViewer().SetPDFBackground(drawMode.CustomColor);
+            }
+            UpdateRenderFrame();
         }
 
         public void SetStampMouseImage(byte[] imageArray,int imageWidth,int imageHeight)
@@ -302,7 +336,7 @@ namespace Compdfkit_Tools.PDFControl
 
         private void RemoveSplitViewerTool()
         {
-            UpdateFrame();
+            UpdateRenderFrame();
             VerticalSplitter.Visibility = Visibility.Collapsed;
             HorizontalSplitter.Visibility = Visibility.Collapsed;
             VerticalView.Visibility = Visibility.Collapsed;
@@ -315,6 +349,20 @@ namespace Compdfkit_Tools.PDFControl
             HorizontalView.Child = null;
         }
 
+        private void PDFView_GotFocus(object sender, RoutedEventArgs e)
+        {
+            switch((sender as Border).Tag)
+            {
+                case "ViewerTool":
+                    FocusPDFViewTool = viewerTool;
+                    break;
+                case "SplitViewerTool":
+                    FocusPDFViewTool = splitViewerTool;
+                    break;
+            }
+            FocusPDFViewToolChanged?.Invoke(this,EventArgs.Empty);
+        }
+
         #region Private Command Methods
         private double CheckZoomLevel(double zoom, bool IsGrowth)
         {
@@ -359,7 +407,7 @@ namespace Compdfkit_Tools.PDFControl
                     FocusPDFViewTool = splitViewerTool;
                     break;
             }
-            SelectedPDFViewToolChanged?.Invoke(this, EventArgs.Empty);
+            //SelectedPDFViewToolChanged?.Invoke(this, EventArgs.Empty);
         }
     }
 }

+ 2 - 0
Demo/Examples/PDFViewer/MainPage.xaml.cs

@@ -343,6 +343,7 @@ namespace PDFViewer
             }
             else if (currentMode == "Content Editor")
             {
+                displaySettingsControl.SetVisibilityWhenContentEdit(Visibility.Visible);
                 contentEditControl.ClearViewerControl();
                 contentEditControl.ClearPDFEditState();
             }
@@ -411,6 +412,7 @@ namespace PDFViewer
             {
                 contentEditControl.PdfViewControl = viewControl;
                 contentEditControl.InitWithPDFViewer(viewControl);
+                displaySettingsControl.SetVisibilityWhenContentEdit(Visibility.Collapsed);
                 if (contentEditControl.pdfContentEditControl != null && contentEditControl.PdfViewControl!= null)
                 {
                     //viewControl.PDFView?.SetPDFEditType(CPDFEditType.EditText | CPDFEditType.EditImage);