liyijie 2 роки тому
батько
коміт
9f801231e0

+ 169 - 2
PDF Office/ViewModels/FillAndSign/FillAndSignContentViewModel.cs

@@ -34,6 +34,10 @@ using Prism.Events;
 using System.Windows.Input;
 using ContextMenu = System.Windows.Controls.ContextMenu;
 using MenuItem = System.Windows.Controls.MenuItem;
+using System.Drawing;
+using Color = System.Windows.Media.Color;
+using Brush = System.Windows.Media.Brush;
+using FontFamily = System.Windows.Media.FontFamily;
 
 namespace PDF_Office.ViewModels.FillAndSign
 {
@@ -654,8 +658,8 @@ namespace PDF_Office.ViewModels.FillAndSign
                             }
                         }
                         else
-                        {
-                          
+                        {
+                           e.PopupMenu = ViewerContextMenu();
                             if (e.PopupMenu != null)
                             {
                                 e.Handle = true;
@@ -666,6 +670,166 @@ namespace PDF_Office.ViewModels.FillAndSign
                     break;
             }
         }
+        private ContextMenu ViewerContextMenu()
+        {
+            ContextMenu contextMenu = App.Current.FindResource("ViewerContextMenu") as ContextMenu;
+           
+            ViewerContextMenu_Loaded(contextMenu, null);
+            return contextMenu;
+        }
+
+        private void ViewerContextMenu_Loaded(object sender, RoutedEventArgs e,Visibility visibility =Visibility.Collapsed)
+        {
+            ContextMenu contextMenu = sender as ContextMenu;
+            if (contextMenu.Items.Count > 0)
+            {
+                int index = PDFViewer.CurrentIndex;
+                //检测是否已存在相同数据
+                CPDFBookmark list = PDFViewer.Document.GetBookmarkList().FirstOrDefault(q => q.PageIndex == index);
+                foreach (var item in contextMenu.Items)
+                {
+                    if (item is Separator separator) { 
+                    
+                    separator.Visibility = visibility;
+                    }
+                    if (item is MenuItem menuItem1)
+                    {
+                        //if (menuItem1.Tag.ToString() == "DisplayAnnot" || menuItem1.Tag.ToString() == "HiddenAnnot")
+                        //{
+                        //    SetMenuItemVisibility(menuItem1, "DisplayAnnot", "HiddenAnnot", isHiddenAnnot);
+                        //}
+                        
+                        switch (menuItem1.Tag.ToString())
+                        {
+                            case "Copy":
+                                //粘贴
+                                //if (!ApplicationCommands.Paste.CanExecute(null, (UIElement)sender))
+                                //{
+                                //    menuItem1.IsEnabled = false;
+                                //    menuItem1.Opacity = 0.5;
+                                //}
+                                //else
+                                //{
+                                //    menuItem1.IsEnabled = true;
+                                //    menuItem1.Opacity = 1;
+                                //}
+                                menuItem1.CommandTarget = (UIElement)PDFViewer;
+                                menuItem1.Command = ApplicationCommands.Paste;
+                                break;
+
+                            case "AddAnnotation":
+                                menuItem1.Visibility = visibility;
+                             
+                                break;
+
+                            case "HiddenAnnot":
+                                menuItem1.Visibility = visibility;
+                       
+                                break;
+
+                            case "DisplayAnnot":
+                                menuItem1.Visibility = visibility;
+                    
+                                break;
+
+                            case "AddBookMark":
+                                menuItem1.Visibility = visibility;
+                     
+                                break;
+
+                            case "DelBookMark":
+                                menuItem1.Visibility = visibility;
+             
+                                break;
+
+                            case "ToolMode":
+                                menuItem1.Visibility = visibility;
+                    
+                                break;
+
+                            case "ReadModel":
+                                menuItem1.Visibility = visibility;
+                   
+                                break;
+
+                            case "UnReadModel":
+                                menuItem1.Visibility = visibility;
+                  
+                                break;
+
+                            case "ViewZoom":
+                                menuItem1.Visibility = visibility;
+              
+                                break;
+
+                            case "PageDisplay":
+                                menuItem1.Visibility = visibility;
+              
+                                break;
+
+                            case "Select":
+                                menuItem1.Click -= Select_Click;
+
+                                menuItem1.Click += Select_Click;
+                                break;
+
+                            case "Print":
+                                menuItem1.Command = viewContentViewModel.PrintCommand;
+                                break;
+                        }
+                    }
+                }
+            }
+        }
+        private void Select_Click(object sender, RoutedEventArgs e)
+        {
+            if (viewContentViewModel.OpenBOTA == false)
+            {
+                viewContentViewModel.OpenBOTA = true;
+            }
+            bool isBook = IsBOTATabItemShow(out BOTAContentViewModel bOTAContentViewModel, out BOTAContent bOTAContent, "TabItemSearch");
+            if (isBook == false)
+            {
+                bOTAContent.TabItemSearch.IsSelected = true;
+            }
+        }
+        public IRegionManager region;
+        private bool IsBOTATabItemShow(out BOTAContentViewModel bOTAContentViewModel, out BOTAContent bOTAContent, string tabItemText)
+        {
+            bool isTabItem = false;
+            bOTAContentViewModel = null;
+            bOTAContent = null;
+            if (region.Regions.ContainsRegionWithName(viewContentViewModel.BOTARegionName))
+            {
+                var views = region.Regions[viewContentViewModel.BOTARegionName].Views;
+                var model = views.FirstOrDefault(q => q is BOTAContent);
+                if (model is BOTAContent bOTAContent1)
+                {
+                    bOTAContent = bOTAContent1;
+                    bOTAContentViewModel = bOTAContent.DataContext as BOTAContentViewModel;
+                    if (bOTAContentViewModel.CurrentBar == tabItemText)
+                    {
+                        isTabItem = true;
+                    }
+                }
+                //foreach (var item in views)
+                //{
+                //    if (item is BOTAContent bOTAContent1)
+                //    {
+                //        bOTAContent = bOTAContent1;
+                //        bOTAContentViewModel = bOTAContent.DataContext as BOTAContentViewModel;
+                //        if (bOTAContentViewModel.CurrentBar == tabItemText)
+                //        {
+                //            isTabItem = true;
+
+                //            break;
+                //        }
+                //    }
+                //}
+            }
+            return isTabItem;
+        }
+
         private bool isHightAnnot(AnnotHandlerEventArgs annot)
         {
             if (annot.EventType == AnnotArgsType.AnnotUnderline ||
@@ -909,6 +1073,9 @@ namespace PDF_Office.ViewModels.FillAndSign
         public void OnNavigatedFrom(NavigationContext navigationContext)
         {
             UnBindingPDFViewerHandler();
+            ContextMenu contextMenu = App.Current.FindResource("ViewerContextMenu") as ContextMenu;
+
+            ViewerContextMenu_Loaded(contextMenu, null,Visibility.Visible);
             viewContentViewModel.SelectedPrpoertyPanel("PropertyPanelContent", null);
         }
 

+ 14 - 4
PDF Office/Views/Dialog/HomePageToolsDialogs/HomePagePictureToPDFDialog.xaml

@@ -101,10 +101,20 @@
                   DragLeave="MainPage_DragLeave"
                   >
                 <!--<Label Name="DropGrid" Background="#18A0FB" Opacity="0.5" Panel.ZIndex="1" Visibility="Collapsed"/>-->
-                <Button Name="BtnBlank"  Background="Green" Height="480" Width="632" Visibility="{Binding AddFileVisibility}" Command="{Binding ADDPictureCommand}">
-                </Button>
+                <Grid Visibility="{Binding AddFileVisibility}"  Height="480" Width="632">
+                    <Button Name="BtnBlank" Background="White" Height="180" Width="418" Visibility="{Binding AddFileVisibility}" Command="{Binding ADDPictureCommand}" BorderBrush="#FFFFFF">
+                        <StackPanel>
+                            <Grid Width="128" Height="128">
+                                <Path Data="M19.5 43.7691C19.5 42.7996 20.286 42.0137 21.2555 42.0137H40.478C40.8527 42.0137 41.2176 42.1336 41.5193 42.3559L50.4493 48.9359C51.2666 49.5381 52.2551 49.8629 53.2702 49.8629H93.2372C94.2067 49.8629 94.9927 50.6489 94.9927 51.6184V95.5671C94.9927 96.5366 94.2067 97.3225 93.2372 97.3225H21.2555C20.286 97.3225 19.5 96.5366 19.5 95.5671V43.7691Z" Stroke="#CED0D4" StrokeThickness="3"/>
+                                <Path Data="M27 41.3125V37.2555C27 35.4575 28.4575 34 30.2555 34H49.478C50.1729 34 50.8496 34.2224 51.4091 34.6346L60.3391 41.2146C60.8986 41.6269 61.5753 41.8493 62.2702 41.8493H100.237C102.035 41.8493 103.493 43.3068 103.493 45.1047V91C103.493 94.3137 100.806 97 97.4927 97H91.6811" Stroke="#CED0D4" StrokeThickness="3"/>
+                            </Grid>
+                            <TextBlock Margin="0,8,0,0" HorizontalAlignment="Center" Text="No Files"  FontSize="14" Style="{StaticResource PropertyHeaderLv2}"></TextBlock>
+                            <TextBlock Margin="0,2,0,0" Width="418" Height="20" Text="Click the button below to select the file." TextAlignment="Center" Style="{StaticResource PropertyHeaderLv2}" FontSize="12" TextBlock.Foreground="{StaticResource color.sys.text.neutral.lv3}"></TextBlock>
+                        </StackPanel>
+                    </Button>
+                </Grid>
                 <ListView x:Name="listView"  DataContext="{Binding ImagesDataTable}"   Background="White"   ItemsSource="{Binding}" SelectionChanged="listView_SelectionChanged" BorderThickness="1,0,1,1" Visibility="{Binding ElementName=BtnBlank, Path=Visibility, Converter={StaticResource unVisibleConvert}}">
-                    
+
                     <ListView.ContextMenu>
                         <ContextMenu  StaysOpen="True"  >
                             <MenuItem Header="打开文件" Name="OpenFileMenuItem"  Click="OpenFileMenuItem_Click" />
@@ -115,7 +125,7 @@
                         <GridView  ColumnHeaderContainerStyle="{StaticResource HeadStyle}">
                             <GridViewColumn  Header="文档名"  Width="400" DisplayMemberBinding="{Binding FileName}">
                             </GridViewColumn>
-                                <GridViewColumn Header="大小" Width="100" DisplayMemberBinding="{Binding FileSize}"/>
+                            <GridViewColumn Header="大小" Width="100" DisplayMemberBinding="{Binding FileSize}"/>
                             <GridViewColumn Header="状态" Width="82" >
                                 <GridViewColumn.CellTemplate>
                                     <DataTemplate>