Przeglądaj źródła

其他-补充部分菜单项

ZhouJieSheng 2 lat temu
rodzic
commit
9a47234cc7

+ 0 - 16
PDF Office/Helper/CommomEvent.cs

@@ -1,16 +0,0 @@
-using ComPDFKitViewer.PdfViewer;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace PDF_Office.Helper
-{
-    /// <summary>
-    /// 可以复用的事件,避免重复写相同的逻辑
-    /// </summary>
-    public static class CommomEvent
-    {
-    }
-}

+ 3 - 3
PDF Office/Helper/CommonHelper.cs

@@ -387,15 +387,15 @@ namespace PDF_Office.Helper
             switch (unit)
             {
                 case PageItemUnits.MM:
-                    sizeWithUnit = (size * 96 / 72.0) / GetDpi() * 25.4;
+                    sizeWithUnit = size / 72 * 25.4;
                     break;
 
                 case PageItemUnits.CM:
-                    sizeWithUnit = (size * 96 / 72.0) / GetDpi() * 25.4 / 10.0;
+                    sizeWithUnit = size / 72 * 25.4/ 10.0;
                     break;
 
                 case PageItemUnits.IN:
-                    sizeWithUnit = (size * 96 / 72.0) / GetDpi();
+                    sizeWithUnit = size / 72;
                     break;
 
                 default:

+ 0 - 1
PDF Office/PDF Office.csproj

@@ -394,7 +394,6 @@
     <Compile Include="DataConvert\VisibleToBoolConvert.cs" />
     <Compile Include="EventAggregators\DragablzWindowEvent.cs" />
     <Compile Include="EventAggregators\OpenFileEvent.cs" />
-    <Compile Include="Helper\CommomEvent.cs" />
     <Compile Include="Helper\CommonHelper.cs" />
     <Compile Include="Properties\Resources.Designer.cs">
       <DependentUpon>Resources.resx</DependentUpon>

+ 29 - 0
PDF Office/ViewModels/BottomToolContentViewModel.cs

@@ -170,6 +170,18 @@ namespace PDF_Office.ViewModels
             }
         }
 
+        private bool rightPanelEnable;
+
+        public bool RightPanelEnable
+        {
+            get { return rightPanelEnable; }
+            set
+            {
+                SetProperty(ref rightPanelEnable, value);
+            }
+        }
+
+
         public CPDFViewer PDFViewer { get; set; }
 
         public ViewContentViewModel ViewContentViewModel { get; set; }
@@ -562,6 +574,8 @@ namespace PDF_Office.ViewModels
             {
                 this.ViewContentViewModel = viewContentViewModel;
                 IsShowViewModular = viewContentViewModel.IsPropertyOpen;
+                viewContentViewModel.PropertyChanged -= ViewContentViewModel_PropertyChanged;
+                viewContentViewModel.PropertyChanged += ViewContentViewModel_PropertyChanged;
             }
 
             var pdfview = navigationContext.Parameters[ParameterNames.PDFViewer] as CPDFViewer;
@@ -577,6 +591,21 @@ namespace PDF_Office.ViewModels
             }
         }
 
+        private void ViewContentViewModel_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
+        {
+            if(e.PropertyName == "OCRContentVisible")
+            {
+                if(ViewContentViewModel.OCRContentVisible == Visibility.Visible)
+                {
+                    RightPanelEnable = false;
+                }
+                else
+                {
+                    RightPanelEnable = true;
+                }
+            }
+        }
+
         public bool IsNavigationTarget(NavigationContext navigationContext)
         {
             return true;

+ 2 - 2
PDF Office/ViewModels/PageEdit/PageEditContentViewModel.cs

@@ -1748,9 +1748,9 @@ namespace PDF_Office.ViewModels.PageEdit
             item.PageNumber = index + 1;
             var pagesize = PDFViewer.Document.GetPageSize(index);
             item.Size = pagesize;
-            double width = CommonHelper.GetUnitsFromPageSize(pagesize.Width);
+            double width =  CommonHelper.GetUnitsFromPageSize(pagesize.Width);
             double height = CommonHelper.GetUnitsFromPageSize(pagesize.Height);
-            item.PageSize = $"{width.ToString("F2")}mm*{height.ToString("F2")} mm";
+            item.PageSize = $"{width.ToString("F0")}mm*{height.ToString("F0")} mm";
             return item;
         }
 

+ 7 - 1
PDF Office/ViewModels/ViewContentViewModel.cs

@@ -452,7 +452,7 @@ namespace PDF_Office.ViewModels
             unicode = App.mainWindowViewModel.SelectedItem.Unicode;
             LoadFile = new DelegateCommand(loadFile);
             Load = new DelegateCommand(LoadControl);
-            SaveFile = new DelegateCommand(() => { saveFile(); });
+            SaveFile = new DelegateCommand(() => { saveFile(); }, CanSaveExcute).ObservesProperty(() => CanSave);
             SaveAsFile = new DelegateCommand(() => { saveAsFile(); });
             UndoCommand = new DelegateCommand(Undo);
             RedoCommand = new DelegateCommand(Redo);
@@ -493,6 +493,12 @@ namespace PDF_Office.ViewModels
             EnterSelectedBar("TabItemAnnotation");
         }
 
+
+        private bool CanSaveExcute()
+        {
+            return CanSave;
+        }
+
         private void MenuEnterReadModeEvent(object obj)
         {
         }

+ 19 - 5
PDF Office/Views/BottomToolContent.xaml

@@ -2,6 +2,7 @@
     x:Class="PDF_Office.Views.BottomToolContent"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+    xmlns:cus="clr-namespace:PDF_Office.CustomControl"
     xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
     xmlns:i="http://schemas.microsoft.com/xaml/behaviors"
     xmlns:local="clr-namespace:PDF_Office.Views"
@@ -60,12 +61,13 @@
                     </Polygon.RenderTransform>
                 </Polygon>
             </Button>
-            <TextBox
-                Width="48"
+            <cus:TextBoxEx
+                Width="57"
                 Height="24"
                 Padding="10,0,0,0"
                 VerticalAlignment="Center"
                 VerticalContentAlignment="Center"
+                CornerRadius="4"
                 FontSize="12"
                 InputMethod.IsInputMethodEnabled="False"
                 Text="{Binding CurrentPage}">
@@ -77,11 +79,15 @@
                         <i:InvokeCommandAction Command="{Binding PageTextPreviewKeyDownCommand}" PassEventArgsToCommand="True" />
                     </i:EventTrigger>
                 </i:Interaction.Triggers>
-            </TextBox>
+            </cus:TextBoxEx>
             <TextBlock
-                MinWidth="50"
+                Margin="8,0"
                 VerticalAlignment="Center"
-                Text="{Binding PageCount, StringFormat=/{0}}" />
+                Text="/" />
+            <TextBlock
+                MinWidth="13"
+                VerticalAlignment="Center"
+                Text="{Binding PageCount, StringFormat={}{0}}" />
             <Button
                 Width="24"
                 Height="24"
@@ -111,11 +117,19 @@
                     </Path.RenderTransform>
                 </Path>
             </Button>
+
+            <Separator Margin="4,0,0,0" Style="{StaticResource VerticalSeparatorStyle}" />
+            <Button
+                Width="24"
+                Height="24"
+                Margin="8,0" />
+            <Button Width="24" Height="24" />
         </StackPanel>
         <StackPanel
             x:Name="StkPnlRight"
             Grid.Column="2"
             HorizontalAlignment="Right"
+            IsEnabled="{Binding RightPanelEnable}"
             Orientation="Horizontal">
             <ToggleButton
                 Width="24"

+ 9 - 0
PDF Office/Views/MainWindow.xaml

@@ -109,6 +109,15 @@
                                         </Button>
                                     </Grid>
                                 </Border>
+                                <Grid.ContextMenu>
+                                    <ContextMenu>
+                                        <MenuItem Header="Rename" />
+                                        <MenuItem Header="Show In Folder" />
+                                        <MenuItem Header="Close Tab" />
+                                        <MenuItem Header="Close All Tab" />
+                                        <MenuItem Header="Open In New Window" />
+                                    </ContextMenu>
+                                </Grid.ContextMenu>
                             </Grid>
                             <ControlTemplate.Triggers>
                                 <Trigger Property="IsSelected" Value="True">

+ 39 - 19
PDF Office/Views/ViewContent.xaml

@@ -52,29 +52,49 @@
                 Orientation="Horizontal"
                 Visibility="{Binding IsReadMode}">
                 <Button
+                    Name="BtnFile"
+                    Click="BtnFile_Click"
                     Content="Files"
+                    Initialized="BtnFile_Initialized"
                     Style="{StaticResource subToolBar}"
                     ToolTip="File">
                     <Button.ContextMenu>
-                        <ContextMenu>
-                            <MenuItem />
-                            <MenuItem />
-                            <MenuItem />
-                            <MenuItem />
-                            <MenuItem />
-                            <MenuItem />
-                            <MenuItem />
-                            <MenuItem />
-                            <MenuItem />
-                            <MenuItem />
-                            <MenuItem />
-                            <MenuItem />
-                            <MenuItem />
-                            <MenuItem />
-                            <MenuItem />
-                            <MenuItem />
-                            <MenuItem />
-                            <MenuItem />
+                        <ContextMenu Name="FileMenu">
+                            <MenuItem Header="Open Files" InputGestureText="Ctrl+O" />
+                            <MenuItem Header="Open Recent">
+                                <MenuItem />
+                            </MenuItem>
+                            <Separator Margin="8,0" Style="{StaticResource HorizontalSeparatorStyle}" />
+                            <MenuItem Header="Create Files" />
+                            <MenuItem Header="New Tab" InputGestureText="Ctrl+T" />
+                            <MenuItem Header="Merge PDF Files" />
+                            <Separator Margin="8,0" Style="{StaticResource HorizontalSeparatorStyle}" />
+                            <MenuItem
+                                Command="{Binding SaveFile}"
+                                Header="Save"
+                                InputGestureText="Ctrl+S" />
+                            <MenuItem
+                                Command="{Binding SaveAsFile}"
+                                Header="Save As"
+                                InputGestureText="Ctrl+Shift+S" />
+                            <MenuItem Header="Save as Flattened PDF" />
+                            <MenuItem Header="Compress" />
+                            <MenuItem Header="Convert To" />
+                            <Separator Margin="8,0" Style="{StaticResource HorizontalSeparatorStyle}" />
+                            <MenuItem Header="Close Window" InputGestureText="Ctrl+Shift+W" />
+                            <MenuItem Header="Close Tab" InputGestureText="Ctrl+W" />
+                            <Separator Margin="8,0" Style="{StaticResource HorizontalSeparatorStyle}" />
+                            <MenuItem Header="Set Passwords" />
+                            <MenuItem Header="Remove Security" />
+                            <Separator Margin="8,0" Style="{StaticResource HorizontalSeparatorStyle}" />
+                            <MenuItem Header="Show in Folder" />
+                            <MenuItem Header="Properties" />
+                            <Separator Margin="8,0" Style="{StaticResource HorizontalSeparatorStyle}" />
+                            <MenuItem Header="Share" />
+                            <MenuItem Header="Print" />
+                            <Separator Margin="8,0" Style="{StaticResource HorizontalSeparatorStyle}" />
+                            <MenuItem Header="Settings" InputGestureText="Ctrl+P" />
+                            <MenuItem Header="Help" />
                         </ContextMenu>
                     </Button.ContextMenu>
                 </Button>

+ 12 - 0
PDF Office/Views/ViewContent.xaml.cs

@@ -121,5 +121,17 @@ namespace PDF_Office.Views
                 }
             }
         }
+
+        private void BtnFile_Initialized(object sender, EventArgs e)
+        {
+            BtnFile.ContextMenu = null;
+        }
+
+        private void BtnFile_Click(object sender, RoutedEventArgs e)
+        {
+            FileMenu.PlacementTarget = BtnFile;
+            FileMenu.Placement = System.Windows.Controls.Primitives.PlacementMode.Bottom;
+            FileMenu.IsOpen = true;
+        }
     }
 }