Browse Source

compdfkit demo(windows) - 调整设置CPDFViewer方法

liyuxuan 1 year ago
parent
commit
6485d2b641

+ 12 - 4
compdfkit_demo_windows/compdfkit/compdfkit-tools/PDFView/PDFSearch/PDFSearchControl/CPDFSearchControl.xaml.cs

@@ -27,7 +27,7 @@ namespace compdfkit_tools.PDFControl
         /// <summary>
         /// PDFViewer
         /// </summary>
-        public CPDFViewer PDFView { get; set; }
+        private CPDFViewer pdfView;
         private int currentHighLightIndex { get; set; } = -1;
         private PDFTextSearch textSearch;
         private string keyWord;
@@ -38,6 +38,14 @@ namespace compdfkit_tools.PDFControl
             Loaded += PDFSearch_Loaded;
         }
 
+        /// <summary>
+        /// 设置PDFViewer
+        /// </summary>
+        public void SetPDFView(CPDFViewer newPDFView)
+        {
+            pdfView = newPDFView;
+        }
+
         private void PDFSearch_Loaded(object sender, RoutedEventArgs e)
         {
             textSearch = new PDFTextSearch();
@@ -150,7 +158,7 @@ namespace compdfkit_tools.PDFControl
                 return;
             }
 
-            if (PDFView == null || PDFView.Document == null)
+            if (pdfView == null || pdfView.Document == null)
             {
                 return;
             }
@@ -158,7 +166,7 @@ namespace compdfkit_tools.PDFControl
             if (textSearch != null && textSearch.CanDoSearch)
             {
                 keyWord = e;
-                textSearch.TextSearchDocument = PDFView.Document;
+                textSearch.TextSearchDocument = pdfView.Document;
                 textSearch.SearchText(e, C_Search_Options.Search_Case_Insensitive);
             }
         }
@@ -182,7 +190,7 @@ namespace compdfkit_tools.PDFControl
                 PageRotate = result.PageRotate,
 
             });
-            PDFView.SetPageSelectText(selectList, highLightBrush);
+            pdfView.SetPageSelectText(selectList, highLightBrush);
         }
     }
 }

+ 17 - 9
compdfkit_demo_windows/compdfkit/compdfkit-tools/PDFView/PDFThumbnail/PDFThumbnailControl/CPdfThumbnailControl.xaml.cs

@@ -22,7 +22,7 @@ namespace compdfkit_tools.PDFControl
         /// <summary>
         /// PDFViewer
         /// </summary>
-        public CPDFViewer PDFView { get; set; }
+        private CPDFViewer pdfView;
 
         /// <summary>
         /// 缩略图是否加载过
@@ -66,7 +66,7 @@ namespace compdfkit_tools.PDFControl
         /// </summary>
         private void ThumbControl_SelectionChanged(object sender, int e)
         {
-            PDFView?.GoToPage(e);
+            pdfView?.GoToPage(e);
         }
 
         /// <summary>
@@ -82,30 +82,38 @@ namespace compdfkit_tools.PDFControl
         /// </summary>
         public void LoadThumb()
         {
-            if (PDFView == null || PDFView.Document == null || ThumbLoaded)
+            if (pdfView == null || pdfView.Document == null || ThumbLoaded)
             {
                 return;
             }
 
-            if (PDFView.Document.IsLocked)
+            if (pdfView.Document.IsLocked)
             {
                 return;
             }
             cachePageList.Clear();
-            PDFView.OnThumbnailGenerated -= OnThumbnailGenerated;
-            PDFView.OnThumbnailGenerated += OnThumbnailGenerated;
+            pdfView.OnThumbnailGenerated -= OnThumbnailGenerated;
+            pdfView.OnThumbnailGenerated += OnThumbnailGenerated;
             PopulateThumbnailList();
             LoadVisibleThumbs();
         }
 
+        /// <summary>
+        /// 设置PDFViewer
+        /// </summary>
+        public void SetPDFView(CPDFViewer newPDFView)
+        {
+            pdfView = newPDFView;
+        }
+
         private void PopulateThumbnailList()
         {
             int thumbnailWidth = thumbnailSize[zoomLevel];
             thumbnailItemList.Clear();
-            for (int i = 0; i < PDFView.Document.PageCount; i++)
+            for (int i = 0; i < pdfView.Document.PageCount; i++)
             {
 
-                Size pageSize = PDFView.Document.GetPageSize(i);
+                Size pageSize = pdfView.Document.GetPageSize(i);
 
                 int imageWidth = pageSize.Width > pageSize.Height ? thumbnailWidth * 2 : (int)(pageSize.Width / pageSize.Height * thumbnailWidth * 2);
                 int imageHeight = pageSize.Height > pageSize.Width ? thumbnailWidth * 2 : (int)(pageSize.Height / pageSize.Width * thumbnailWidth * 2);
@@ -148,7 +156,7 @@ namespace compdfkit_tools.PDFControl
                         if (cachePageList.Contains(item.PageIndex) == false)
                         {
                             cachePageList.Add(item.PageIndex);
-                            await PDFView.GetThumbnail(item.PageIndex, item.ImageWidth, item.ImageHeight);
+                            await pdfView.GetThumbnail(item.PageIndex, item.ImageWidth, item.ImageHeight);
                         }
                     }
                 }

+ 4 - 4
compdfkit_demo_windows/compdfkit/viewer-ctrl-demo/MainWindow.xaml.cs

@@ -52,12 +52,12 @@ namespace viewer_ctrl_demo
             UIElement currentBotaTool = GetBotaTool();
             if (currentBotaTool is CPDFSearchControl)
             {
-                ((CPDFSearchControl)currentBotaTool).PDFView = pdfViewer;
+                ((CPDFSearchControl)currentBotaTool).SetPDFView(pdfViewer);
             }
 
             if (currentBotaTool is CPDFThumbnailControl)
             {
-                ((CPDFThumbnailControl)currentBotaTool).PDFView = pdfViewer;
+                ((CPDFThumbnailControl)currentBotaTool).SetPDFView(pdfViewer);
                 ((CPDFThumbnailControl)currentBotaTool).ThumbLoaded = false;
                 ((CPDFThumbnailControl)currentBotaTool).LoadThumb();
             }
@@ -106,7 +106,7 @@ namespace viewer_ctrl_demo
                 CPDFSearchControl searchControl = new CPDFSearchControl();
                 if (pdfViewer != null && pdfViewer.Document != null)
                 {
-                    searchControl.PDFView = pdfViewer;
+                    searchControl.SetPDFView(pdfViewer);
                 }
                 SetBotaTool(searchControl);
             }
@@ -126,7 +126,7 @@ namespace viewer_ctrl_demo
 
                 if (pdfViewer != null && pdfViewer.Document != null)
                 {
-                    thumbControl.PDFView = pdfViewer;
+                    thumbControl.SetPDFView(pdfViewer);
                     thumbControl.LoadThumb();
                 }
                 SetBotaTool(thumbControl);