ViewContent.xaml 41 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825
  1. <UserControl
  2. x:Class="PDF_Master.Views.ViewContent"
  3. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  4. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  5. xmlns:convert="clr-namespace:PDF_Master.DataConvert"
  6. xmlns:cus="clr-namespace:PDF_Master.CustomControl"
  7. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  8. xmlns:helper="clr-namespace:PDF_Master.Helper"
  9. xmlns:i="http://schemas.microsoft.com/xaml/behaviors"
  10. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  11. xmlns:prism="http://prismlibrary.com/"
  12. xmlns:viewmodels="clr-namespace:PDF_Master.ViewModels"
  13. d:DataContext="{d:DesignInstance Type=viewmodels:ViewContentViewModel}"
  14. d:DesignHeight="450"
  15. d:DesignWidth="800"
  16. prism:ViewModelLocator.AutoWireViewModel="True"
  17. AllowDrop="True"
  18. DragEnter="UserControl_DragEnter"
  19. DragLeave="UserControl_DragLeave"
  20. DragOver="UserControl_DragOver"
  21. Drop="UserControl_Drop"
  22. IsVisibleChanged="UserControl_IsVisibleChanged"
  23. KeyDown="UserControl_KeyDown"
  24. MouseDown="UserControl_MouseDown"
  25. Unloaded="UserControl_Unloaded"
  26. mc:Ignorable="d">
  27. <i:Interaction.Triggers>
  28. <i:EventTrigger EventName="Loaded">
  29. <prism:InvokeCommandAction Command="{Binding Load}" />
  30. </i:EventTrigger>
  31. <i:EventTrigger EventName="PreviewMouseDown">
  32. <prism:InvokeCommandAction Command="{Binding MouseDown}" />
  33. </i:EventTrigger>
  34. </i:Interaction.Triggers>
  35. <UserControl.Resources>
  36. <ResourceDictionary>
  37. <ResourceDictionary.MergedDictionaries>
  38. <ResourceDictionary Source="pack://application:,,,/Styles/ButtonStyle.xaml" />
  39. </ResourceDictionary.MergedDictionaries>
  40. <convert:InvertBoolConvert x:Key="UnBoolConvert" />
  41. <Style x:Key="MenuButtonStyle" TargetType="{x:Type Button}">
  42. <Setter Property="Width" Value="20" />
  43. <Setter Property="Height" Value="20" />
  44. </Style>
  45. <convert:BoolToVisible x:Key="BoolToVisibleConvert" />
  46. <RoutedUICommand x:Key="CloseLeft" Text="CloseLeft" />
  47. <RoutedUICommand x:Key="CloseRight" Text="CloseRight" />
  48. <RoutedUICommand x:Key="AddTab" Text="AddTab" />
  49. <RoutedUICommand x:Key="CloseTab" Text="CloseTab" />
  50. </ResourceDictionary>
  51. </UserControl.Resources>
  52. <UserControl.InputBindings>
  53. <KeyBinding
  54. Key="F4"
  55. Command="{StaticResource CloseLeft}"
  56. Modifiers="Ctrl" />
  57. <KeyBinding
  58. Key="F4"
  59. Command="{StaticResource CloseRight}"
  60. Modifiers="Ctrl+Shift" />
  61. <KeyBinding Command="{Binding OpenFileCommand}" Gesture="Ctrl+O" />
  62. <KeyBinding
  63. Key="T"
  64. Command="{StaticResource AddTab}"
  65. Modifiers="Ctrl" />
  66. <KeyBinding Command="{Binding SaveFile}" Gesture="Ctrl+S" />
  67. <KeyBinding Command="{Binding SaveAsFile}" Gesture="Ctrl+Shift+S" />
  68. <KeyBinding Command="{Binding CloseWindowCommand}" Gesture="Ctrl+Shift+W" />
  69. <KeyBinding
  70. Key="W"
  71. Command="{StaticResource CloseTab}"
  72. Modifiers="Ctrl" />
  73. <KeyBinding
  74. Key="P"
  75. Command="{Binding PrintCommand}"
  76. Modifiers="Ctrl" />
  77. <KeyBinding
  78. Key="S"
  79. Command="{Binding SaveFile}"
  80. Modifiers="Ctrl" />
  81. <KeyBinding
  82. Key="Z"
  83. Command="{Binding UndoCommand}"
  84. Modifiers="Ctrl" />
  85. <KeyBinding Command="{Binding RedoCommand}" Gesture="Ctrl+Shift+Z" />
  86. <KeyBinding
  87. Key="Up"
  88. Command="{x:Static helper:GlobalCommands.FirstPageCommand}"
  89. Modifiers="Ctrl" />
  90. <KeyBinding
  91. Key="Down"
  92. Command="{x:Static helper:GlobalCommands.LastPageCommand}"
  93. Modifiers="Ctrl" />
  94. <KeyBinding Key="Up" Command="{x:Static helper:GlobalCommands.UpCommand}" />
  95. <KeyBinding Key="Down" Command="{x:Static helper:GlobalCommands.DownCommand}" />
  96. <KeyBinding Key="Left" Command="{x:Static helper:GlobalCommands.PrePageCommand}" />
  97. <KeyBinding Key="PageUp" Command="{x:Static helper:GlobalCommands.PrePageCommand}" />
  98. <KeyBinding Key="PageDown" Command="{x:Static helper:GlobalCommands.NextPageCommand}" />
  99. <KeyBinding Key="Right" Command="{x:Static helper:GlobalCommands.NextPageCommand}" />
  100. <KeyBinding
  101. Key="B"
  102. Command="{x:Static helper:GlobalCommands.BookMarkCommand}"
  103. Modifiers="Ctrl" />
  104. <KeyBinding Key="F11" Command="{x:Static helper:GlobalCommands.FullWindowCommand}" />
  105. <KeyBinding
  106. Key="NumPad1"
  107. Command="{x:Static helper:GlobalCommands.SinglePageCommand}"
  108. Modifiers="Ctrl" />
  109. <KeyBinding
  110. Key="D1"
  111. Command="{x:Static helper:GlobalCommands.SinglePageCommand}"
  112. Modifiers="Ctrl" />
  113. <KeyBinding
  114. Key="NumPad2"
  115. Command="{x:Static helper:GlobalCommands.DoublePageCommand}"
  116. Modifiers="Ctrl" />
  117. <KeyBinding
  118. Key="D2"
  119. Command="{x:Static helper:GlobalCommands.DoublePageCommand}"
  120. Modifiers="Ctrl" />
  121. <KeyBinding
  122. Key="O"
  123. Command="{x:Static helper:GlobalCommands.RealSizeCommand}"
  124. Modifiers="Ctrl" />
  125. <KeyBinding
  126. Key="Add"
  127. Command="{x:Static helper:GlobalCommands.ZoomInCommand}"
  128. Modifiers="Ctrl" />
  129. <KeyBinding
  130. Key="OemPlus"
  131. Command="{x:Static helper:GlobalCommands.ZoomInCommand}"
  132. Modifiers="Ctrl" />
  133. <KeyBinding
  134. Key="Subtract"
  135. Command="{x:Static helper:GlobalCommands.ZoomOutPageCommand}"
  136. Modifiers="Ctrl" />
  137. <KeyBinding
  138. Key="OemMinus"
  139. Command="{x:Static helper:GlobalCommands.ZoomOutPageCommand}"
  140. Modifiers="Ctrl" />
  141. <KeyBinding
  142. Key="OemOpenBrackets"
  143. Command="{x:Static helper:GlobalCommands.PreViewCommand}"
  144. Modifiers="Ctrl" />
  145. <KeyBinding
  146. Key="OemCloseBrackets"
  147. Command="{x:Static helper:GlobalCommands.NextViewCommand}"
  148. Modifiers="Ctrl" />
  149. </UserControl.InputBindings>
  150. <UserControl.CommandBindings>
  151. <CommandBinding
  152. x:Name="CloseLeftCommand"
  153. Command="{StaticResource CloseLeft}"
  154. Executed="CloseLeftCommand_Executed" />
  155. <CommandBinding
  156. x:Name="AddTabCommand"
  157. Command="{StaticResource AddTab}"
  158. Executed="AddTabCommand_Executed" />
  159. <CommandBinding
  160. x:Name="CloseTabCommand"
  161. Command="{StaticResource CloseTab}"
  162. Executed="CloseTabCommand_Executed" />
  163. <CommandBinding
  164. x:Name="CloseRightCommand"
  165. Command="{StaticResource CloseRight}"
  166. Executed="CloseRightCommand_Executed" />
  167. </UserControl.CommandBindings>
  168. <Grid Background="{StaticResource color.sys.layout.mg}">
  169. <Grid.RowDefinitions>
  170. <RowDefinition Name="HeadRow" Height="40" />
  171. <RowDefinition Name="ToolRow" Height="40" />
  172. <RowDefinition Height="*" />
  173. <RowDefinition Height="32" />
  174. </Grid.RowDefinitions>
  175. <Grid Visibility="{Binding GridVisibility}">
  176. <!-- 左边菜单按钮 -->
  177. <StackPanel
  178. Margin="16,6,0,6"
  179. HorizontalAlignment="Left"
  180. Orientation="Horizontal"
  181. Visibility="{Binding IsReadMode}">
  182. <Button
  183. Name="BtnFile"
  184. Click="BtnFile_Click"
  185. Content="Files"
  186. Initialized="BtnFile_Initialized"
  187. Style="{StaticResource subToolBar}"
  188. ToolTip="{Binding T_File}">
  189. <Button.ContextMenu>
  190. <ContextMenu Name="FileMenu">
  191. <MenuItem
  192. Command="{Binding OpenFileCommand}"
  193. Header="Open Files"
  194. InputGestureText="Ctrl+O" />
  195. <MenuItem
  196. Name="MenuRecent"
  197. Header="Open Recent"
  198. Loaded="MenuRecent_Loaded">
  199. <Separator Name="Menu_Separator" Style="{StaticResource HorizontalSeparatorStyle}" />
  200. <MenuItem
  201. Name="MenuDeleteAll"
  202. Click="MenuDeleteAll_Click"
  203. Header="Delete All" />
  204. </MenuItem>
  205. <Separator Margin="8,0" Style="{StaticResource HorizontalSeparatorStyle}" />
  206. <MenuItem Header="Create Files">
  207. <MenuItem Command="{Binding CreateFromFile}" Header="Create From File" />
  208. <MenuItem Command="{Binding CreateBlankFileCommand}" Header="Create Blank" />
  209. <MenuItem
  210. Command="{Binding mainViewModel.homeContentViewModel.CreateFromScanner}"
  211. CommandParameter="View"
  212. Header="Create Form Scanner" />
  213. </MenuItem>
  214. <MenuItem
  215. Command="{Binding mainViewModel.mainWindowViewModel.AddTab}"
  216. Header="New Tab"
  217. InputGestureText="Ctrl+T" />
  218. <MenuItem Command="{Binding MergeFileCommand}" Header="Merge PDF Files" />
  219. <Separator Margin="8,0" Style="{StaticResource HorizontalSeparatorStyle}" />
  220. <MenuItem
  221. Command="{Binding SaveFile}"
  222. Header="Save"
  223. InputGestureText="Ctrl+S" />
  224. <MenuItem
  225. Command="{Binding SaveAsFile}"
  226. Header="Save As"
  227. InputGestureText="Ctrl+Shift+S" />
  228. <MenuItem
  229. Command="{Binding SaveAsFlattenCommand}"
  230. Header="Save as Flattened PDF"
  231. Visibility="Collapsed" />
  232. <MenuItem Command="{Binding CompressCommand}" Header="Compress" />
  233. <MenuItem Header="Convert To">
  234. <MenuItem
  235. Command="{Binding ConvertCommand}"
  236. CommandParameter="Word"
  237. Header="Word" />
  238. <MenuItem
  239. Command="{Binding ConvertCommand}"
  240. CommandParameter="Excel"
  241. Header="Excel" />
  242. <MenuItem
  243. Command="{Binding ConvertCommand}"
  244. CommandParameter="PPT"
  245. Header="PowerPoint" />
  246. <MenuItem
  247. Command="{Binding ConvertCommand}"
  248. CommandParameter="RTF"
  249. Header="RTF" />
  250. <MenuItem
  251. Command="{Binding ConvertCommand}"
  252. CommandParameter="HTML"
  253. Header="HTML" />
  254. <MenuItem
  255. Command="{Binding ConvertCommand}"
  256. CommandParameter="Text"
  257. Header="Text" />
  258. <MenuItem
  259. Command="{Binding ConvertCommand}"
  260. CommandParameter="CSV"
  261. Header="CSV" />
  262. <MenuItem
  263. Command="{Binding ConvertCommand}"
  264. CommandParameter="Image"
  265. Header="图片" />
  266. </MenuItem>
  267. <Separator Margin="8,0" Style="{StaticResource HorizontalSeparatorStyle}" />
  268. <MenuItem
  269. Command="{Binding CloseWindowCommand}"
  270. Header="Close Window"
  271. InputGestureText="Ctrl+Shift+W" />
  272. <MenuItem
  273. Command="{Binding mainViewModel.CloseTab}"
  274. Header="Close Tab"
  275. InputGestureText="Ctrl+W" />
  276. <Separator Margin="8,0" Style="{StaticResource HorizontalSeparatorStyle}" />
  277. <MenuItem Command="{Binding EncryptCommand}" Header="Set Passwords" />
  278. <MenuItem Command="{Binding DecryptCommand}" Header="Remove Security" />
  279. <Separator Margin="8,0" Style="{StaticResource HorizontalSeparatorStyle}" />
  280. <MenuItem Command="{Binding ShowInFolderCommand}" Header="Show in Folder" />
  281. <MenuItem Command="{Binding PropertyCommand}" Header="Properties" />
  282. <Separator Margin="8,0" Style="{StaticResource HorizontalSeparatorStyle}" />
  283. <MenuItem Command="{Binding ShareCommand}" Header="Share" />
  284. <MenuItem
  285. Command="{Binding PrintCommand}"
  286. Header="Print"
  287. InputGestureText="Ctrl+P" />
  288. <Separator Margin="8,0" Style="{StaticResource HorizontalSeparatorStyle}" />
  289. <MenuItem Command="{Binding SettingsCommand}" Header="Settings" />
  290. <MenuItem Header="Help">
  291. <MenuItem
  292. Command="{Binding HelpCommand}"
  293. CommandParameter="Guid"
  294. Header="Quick Guide" />
  295. <MenuItem
  296. Command="{Binding HelpCommand}"
  297. CommandParameter="Online"
  298. Header="在线帮助"
  299. Visibility="Collapsed" />
  300. <MenuItem
  301. Command="{Binding HelpCommand}"
  302. CommandParameter="More"
  303. Header="More Products" />
  304. <MenuItem
  305. Command="{Binding HelpCommand}"
  306. CommandParameter="Template"
  307. Header="Free Template" />
  308. <MenuItem
  309. Command="{Binding HelpCommand}"
  310. CommandParameter="Blog"
  311. Header="订阅电子报"
  312. Visibility="Collapsed" />
  313. <MenuItem
  314. Command="{Binding HelpCommand}"
  315. CommandParameter="ComPDF"
  316. Header="Powered by ComPDFKit" />
  317. <Separator Style="{StaticResource HorizontalSeparatorStyle}" />
  318. <MenuItem
  319. Command="{Binding HelpCommand}"
  320. CommandParameter="FeedBack"
  321. Header="Feedback" />
  322. </MenuItem>
  323. </ContextMenu>
  324. </Button.ContextMenu>
  325. </Button>
  326. <Separator
  327. Width="1"
  328. Height="12"
  329. Margin="8,0"
  330. Background="{StaticResource color.sys.layout.divider}"
  331. Style="{StaticResource {x:Static ToolBar.SeparatorStyleKey}}" />
  332. <Button
  333. Command="{Binding SaveFile}"
  334. IsEnabled="{Binding CanSave}"
  335. Style="{StaticResource subToolBar}"
  336. ToolTip="{Binding T_Save}">
  337. <Path
  338. Width="20"
  339. Height="20"
  340. Data="M16 16V6.82843L13.1716 4H12V8C12 9.10457 11.1046 10 10 10H7C5.89543 10 5 9.10457 5 8V4H4V16H16ZM7 4H10V8H7V4ZM13.1716 2H12H10H7H5H4C2.89543 2 2 2.89543 2 4V16C2 17.1046 2.89543 18 4 18H16C17.1046 18 18 17.1046 18 16V6.82843C18 6.29799 17.7893 5.78929 17.4142 5.41421L14.5858 2.58579C14.2107 2.21071 13.702 2 13.1716 2ZM9.25 5H7.75V7H9.25V5Z"
  341. Fill="{StaticResource color.icon.base.neutral.norm.lv1}" />
  342. </Button>
  343. <Button
  344. Margin="2,0"
  345. Command="{Binding UndoCommand}"
  346. IsEnabled="{Binding CanUndo}"
  347. Style="{StaticResource subToolBar}"
  348. ToolTip="{Binding T_Undo}">
  349. <Path
  350. Width="20"
  351. Height="20"
  352. Data="M5.75766 8.00008L6.70741 8.94982L5.2932 10.364L2.46477 7.53561C2.07424 7.14508 2.07424 6.51192 2.46477 6.1214L5.2932 3.29297L6.70741 4.70718L5.41451 6.00008H12.5001C15.5377 6.00008 18.0001 8.46251 18.0001 11.5001C18.0001 14.5376 15.5377 17.0001 12.5001 17.0001H3.00012V15.0001H12.5001C14.4331 15.0001 16.0001 13.4331 16.0001 11.5001C16.0001 9.56708 14.4331 8.00008 12.5001 8.00008H5.75766Z"
  353. Fill="{StaticResource color.icon.base.neutral.norm.lv1}" />
  354. </Button>
  355. <Button
  356. Command="{Binding RedoCommand}"
  357. IsEnabled="{Binding CanRedo}"
  358. Style="{StaticResource subToolBar}"
  359. ToolTip="{Binding T_Redo}">
  360. <Path
  361. Width="20"
  362. Height="20"
  363. Data="M14.2424 8.00006L13.2926 8.94982L14.7068 10.364L17.5352 7.53561C17.9258 7.14508 17.9258 6.51192 17.5352 6.1214L14.7068 3.29297L13.2926 4.70718L14.5855 6.00006H7.49969C4.46213 6.00006 1.9997 8.46249 1.9997 11.5001C1.9997 14.5376 4.46213 17.0001 7.4997 17.0001H16.9997V15.0001H7.4997C5.5667 15.0001 3.9997 13.4331 3.9997 11.5001C3.9997 9.56706 5.5667 8.00006 7.49969 8.00006H14.2424Z"
  364. Fill="{StaticResource color.icon.base.neutral.norm.lv1}" />
  365. </Button>
  366. <Button
  367. x:Name="LineLe"
  368. Width="20"
  369. Height="40"
  370. HorizontalAlignment="Left"
  371. VerticalAlignment="Center"
  372. Click="LineLe_Click" />
  373. </StackPanel>
  374. <!-- 右边菜单按钮 -->
  375. <StackPanel
  376. Margin="0,6,16,6"
  377. HorizontalAlignment="Right"
  378. Orientation="Horizontal"
  379. Visibility="{Binding IsReadMode}">
  380. <Button
  381. x:Name="LineRi"
  382. Width="20"
  383. Height="40"
  384. HorizontalAlignment="Right"
  385. VerticalAlignment="Center"
  386. Click="LineRi_Click" />
  387. <Button
  388. Command="{Binding PrintCommand}"
  389. Style="{StaticResource subToolBar}"
  390. ToolTip="{Binding T_Print}">
  391. <Path
  392. Width="20"
  393. Height="20"
  394. Data="M17 6.99999H14.8203C14.7973 7.00126 14.7741 7.0019 14.7508 7.0019L10.0008 7.00254L5.25081 7.00319C5.22047 7.00319 5.19038 7.00211 5.16058 6.99999H3C2.44772 6.99999 2 7.44771 2 7.99999V13.75C2 13.8881 2.11193 14 2.25 14H4V13.25C4 12.5596 4.55964 12 5.25 12H14.75C15.4404 12 16 12.5596 16 13.25V14H17.75C17.8881 14 18 13.8881 18 13.75V7.99999C18 7.44771 17.5523 6.99999 17 6.99999ZM16 16H17.75C18.9926 16 20 14.9926 20 13.75V7.99999C20 6.34314 18.6569 4.99999 17 4.99999H16.0005L16.0002 2.24837C16.0001 1.55801 15.4404 0.998442 14.75 0.998535L5.25 0.999822C4.55964 0.999916 4.00008 1.55964 4.00017 2.24999L4.00054 4.99999H3C1.34315 4.99999 0 6.34314 0 7.99999V13.75C0 14.9926 1.00736 16 2.25 16H4V17.75C4 18.4403 4.55964 19 5.25 19H14.75C15.4404 19 16 18.4403 16 17.75V16ZM6.00027 2.99972L6.00054 4.99999H14.0005L14.0003 2.99864L6.00027 2.99972ZM14 8.49999V10.5H16V8.49999H14ZM6 17V14H14V17H6Z"
  395. Fill="{StaticResource color.icon.base.neutral.norm.lv1}" />
  396. </Button>
  397. <Button
  398. Margin="2,0"
  399. Command="{Binding ShareCommand}"
  400. Style="{StaticResource subToolBar}"
  401. ToolTip="{Binding T_Share}">
  402. <Path
  403. Width="20"
  404. Height="20"
  405. Data="M15.0858 3.5H11.25V1.5H16.6395C17.667 1.5 18.5 2.33298 18.5 3.36051V8.75H16.5V4.91421L11.136 10.2782L9.72183 8.86396L15.0858 3.5ZM4.25 4C4.11193 4 4 4.11193 4 4.25V15.75C4 15.8881 4.11193 16 4.25 16H15.75C15.8881 16 16 15.8881 16 15.75V10.875H18V15.75C18 16.9926 16.9926 18 15.75 18H4.25C3.00736 18 2 16.9926 2 15.75V4.25C2 3.00736 3.00736 2 4.25 2H9.125V4H4.25Z"
  406. Fill="{StaticResource color.icon.base.neutral.norm.lv1}" />
  407. </Button>
  408. <ToggleButton
  409. Name="TbtnProperty"
  410. Width="28"
  411. Height="28"
  412. BorderThickness="0"
  413. Command="{Binding OpenPropertyCommand}"
  414. CommandParameter="{Binding ElementName=TbtnProperty, Path=IsChecked}"
  415. IsChecked="{Binding IsPropertyOpen, Mode=TwoWay}"
  416. IsEnabled="{Binding isInPageEdit, Converter={StaticResource UnBoolConvert}}"
  417. Style="{StaticResource SubToolbarTgb}"
  418. ToolTip="{Binding T_Properties}">
  419. <Path
  420. Width="20"
  421. Height="20"
  422. Data="M2 4V7H18V4H2ZM2 16V9H13V16H2ZM15 16H18V9H15V16ZM1.72101 2C0.770524 2 0 2.77052 0 3.72101V16.279C0 17.2295 0.770524 18 1.72101 18H18.279C19.2295 18 20 17.2295 20 16.279V3.72101C20 2.77052 19.2295 2 18.279 2H1.72101Z"
  423. Fill="{Binding ElementName=TbtnProperty, Path=Foreground}" />
  424. </ToggleButton>
  425. </StackPanel>
  426. <ScrollViewer HorizontalScrollBarVisibility="Hidden" VerticalScrollBarVisibility="Disabled" VerticalAlignment="Center" Margin="180,0,160,0" x:Name="ScrViewTab">
  427. <TabControl
  428. x:Name="ToolTabControl"
  429. Grid.Row="0"
  430. Grid.RowSpan="2"
  431. HorizontalAlignment="Center"
  432. VerticalAlignment="Top"
  433. BorderThickness="0"
  434. PreviewMouseLeftButtonDown="ToolTabControl_PreviewMouseLeftButtonDown"
  435. SelectedIndex="{Binding TabSelectedIndex, Mode=TwoWay}"
  436. Style="{StaticResource TabControlWithUnderLineStyle}"
  437. Visibility="{Binding IsReadMode}">
  438. <cus:IconAndTextTabItem
  439. x:Name="TabItemAnnotation"
  440. Header="{Binding T_Annotation}"
  441. Style="{StaticResource ToolbarTabs}">
  442. <Grid Grid.Row="1" Height="40" />
  443. </cus:IconAndTextTabItem>
  444. <cus:IconAndTextTabItem
  445. x:Name="TabItemPageEdit"
  446. Header="{Binding T_PageEdit}"
  447. Style="{StaticResource ToolbarTabs}" />
  448. <cus:IconAndTextTabItem
  449. x:Name="TabItemConvert"
  450. Header="{Binding T_Converter}"
  451. Style="{StaticResource ToolbarTabs}" />
  452. <cus:IconAndTextTabItem
  453. x:Name="TabItemScan"
  454. Header="扫描和OCR"
  455. Style="{StaticResource ToolbarTabs}"
  456. Visibility="Collapsed">
  457. <Grid Grid.Row="1" Height="40" />
  458. </cus:IconAndTextTabItem>
  459. <cus:IconAndTextTabItem
  460. x:Name="TabItemEdit"
  461. Height="40"
  462. Header="编辑"
  463. Style="{StaticResource ToolbarTabs}"
  464. Visibility="Collapsed">
  465. <Grid Grid.Row="1" Height="40" />
  466. </cus:IconAndTextTabItem>
  467. <cus:IconAndTextTabItem
  468. x:Name="TabItemForm"
  469. Height="40"
  470. Header="表单"
  471. Style="{StaticResource ToolbarTabs}"
  472. Visibility="Collapsed">
  473. <Grid Grid.Row="1" Height="40" />
  474. </cus:IconAndTextTabItem>
  475. <cus:IconAndTextTabItem
  476. x:Name="TabItemFill"
  477. Height="40"
  478. Header="{Binding T_FillSign}"
  479. Style="{StaticResource ToolbarTabs}">
  480. <Grid Grid.Row="1" Height="40" />
  481. </cus:IconAndTextTabItem>
  482. <cus:IconAndTextTabItem
  483. x:Name="TabItemTool"
  484. Height="40"
  485. Header="{Binding T_Tools}"
  486. Style="{StaticResource ToolbarTabs}">
  487. <Grid Grid.Row="1" Height="40" />
  488. </cus:IconAndTextTabItem>
  489. <i:Interaction.Triggers>
  490. <i:EventTrigger EventName="SelectionChanged">
  491. <i:InvokeCommandAction Command="{Binding TabControlSelectionChangedCommand}" PassEventArgsToCommand="True" />
  492. </i:EventTrigger>
  493. </i:Interaction.Triggers>
  494. </TabControl>
  495. </ScrollViewer>
  496. <!--<ScrollViewer HorizontalScrollBarVisibility="Visible" VerticalScrollBarVisibility="Disabled" VerticalAlignment="Center" Margin="180,0,160,0">
  497. <TabControl
  498. x:Name="ToolTabControl"
  499. Grid.Row="0"
  500. Grid.RowSpan="2"
  501. HorizontalAlignment="Center"
  502. VerticalAlignment="Top"
  503. BorderThickness="0"
  504. PreviewMouseLeftButtonDown="ToolTabControl_PreviewMouseLeftButtonDown"
  505. SelectedIndex="{Binding TabSelectedIndex, Mode=TwoWay}"
  506. Style="{StaticResource TabControlWithUnderLineStyle}"
  507. Visibility="{Binding IsReadMode}">
  508. <cus:IconAndTextTabItem
  509. x:Name="TabItemAnnotation"
  510. Header="{Binding T_Annotation}"
  511. Style="{StaticResource ToolbarTabs}">
  512. <Grid Grid.Row="1" Height="40" />
  513. </cus:IconAndTextTabItem>
  514. <cus:IconAndTextTabItem
  515. x:Name="TabItemPageEdit"
  516. Header="{Binding T_PageEdit}"
  517. Style="{StaticResource ToolbarTabs}" />
  518. <cus:IconAndTextTabItem
  519. x:Name="TabItemConvert"
  520. Header="{Binding T_Converter}"
  521. Style="{StaticResource ToolbarTabs}" />
  522. <cus:IconAndTextTabItem
  523. x:Name="TabItemScan"
  524. Header="扫描和OCR"
  525. Style="{StaticResource ToolbarTabs}"
  526. Visibility="Collapsed">
  527. <Grid Grid.Row="1" Height="40" />
  528. </cus:IconAndTextTabItem>
  529. <cus:IconAndTextTabItem
  530. x:Name="TabItemEdit"
  531. Height="40"
  532. Header="编辑"
  533. Style="{StaticResource ToolbarTabs}"
  534. Visibility="Collapsed">
  535. <Grid Grid.Row="1" Height="40" />
  536. </cus:IconAndTextTabItem>
  537. <cus:IconAndTextTabItem
  538. x:Name="TabItemForm"
  539. Height="40"
  540. Header="表单"
  541. Style="{StaticResource ToolbarTabs}"
  542. Visibility="Collapsed">
  543. <Grid Grid.Row="1" Height="40" />
  544. </cus:IconAndTextTabItem>
  545. <cus:IconAndTextTabItem
  546. x:Name="TabItemFill"
  547. Height="40"
  548. Header="{Binding T_FillSign}"
  549. Style="{StaticResource ToolbarTabs}">
  550. <Grid Grid.Row="1" Height="40" />
  551. </cus:IconAndTextTabItem>
  552. <cus:IconAndTextTabItem
  553. x:Name="TabItemTool"
  554. Height="40"
  555. Header="{Binding T_Tools}"
  556. Style="{StaticResource ToolbarTabs}">
  557. <Grid Grid.Row="1" Height="40" />
  558. </cus:IconAndTextTabItem>
  559. <i:Interaction.Triggers>
  560. <i:EventTrigger EventName="SelectionChanged">
  561. <i:InvokeCommandAction Command="{Binding TabControlSelectionChangedCommand}" PassEventArgsToCommand="True" />
  562. </i:EventTrigger>
  563. </i:Interaction.Triggers>
  564. </TabControl>
  565. <ScrollViewer.Resources>
  566. <Style TargetType="ScrollBar">
  567. <Setter Property="VerticalAlignment" Value="Center"/>
  568. <Setter Property="Template">
  569. <Setter.Value>
  570. <ControlTemplate TargetType="ScrollBar">
  571. <Grid >
  572. <Grid.ColumnDefinitions>
  573. <ColumnDefinition Width="Auto" />
  574. <ColumnDefinition Width="{Binding ElementName=ToolTabControl}" />
  575. <ColumnDefinition Width="Auto" />
  576. </Grid.ColumnDefinitions>
  577. <Button
  578. Grid.Column="0"
  579. Width="15"
  580. Command="{x:Static ScrollBar.LineLeftCommand}"
  581. CommandTarget="{Binding ElementName=scrollViewer}"
  582. Content="&lt;" />
  583. <Button
  584. Grid.Column="2"
  585. Width="15"
  586. Command="{x:Static ScrollBar.LineRightCommand}"
  587. CommandTarget="{Binding ElementName=scrollViewer}"
  588. Content="&gt;" />
  589. </Grid>
  590. </ControlTemplate>
  591. </Setter.Value>
  592. </Setter>
  593. </Style>
  594. </ScrollViewer.Resources>
  595. </ScrollViewer>-->
  596. </Grid>
  597. <!-- 底部工具栏 -->
  598. <ContentControl Grid.Row="3" prism:RegionManager.RegionName="{Binding BottomToolRegionName}" />
  599. <!-- 专门用来显示菜单二级工具栏 -->
  600. <!-- 调整工具栏的显示图层,方便阅读模式处理 -->
  601. <ContentControl
  602. Name="ContentToolsBar"
  603. Grid.Row="{Binding GridToolRow}"
  604. prism:RegionManager.RegionName="{Binding ToolsBarContentRegionName}"
  605. Visibility="{Binding ToolsBarContentVisible}" />
  606. <!--<ContentControl
  607. Name="ContentConverterBar"
  608. Grid.Row="{Binding GridToolRow}"
  609. prism:RegionManager.RegionName="{Binding ToolsBarContentRegionName}"
  610. Visibility="{Binding ConverterBarContentVisible}" />-->
  611. <ContentControl
  612. Name="TextEditContentBar"
  613. Grid.Row="{Binding GridToolRow}"
  614. prism:RegionManager.RegionName="{Binding TextEditContentRegionName}"
  615. Visibility="{Binding TextEditToolContentVisible}" />
  616. <Border
  617. Name="DocumentView"
  618. Grid.Row="2"
  619. BorderBrush="{StaticResource color.sys.layout.divider}"
  620. BorderThickness="0,1,0,0">
  621. <Grid Panel.ZIndex="0">
  622. <Grid.ColumnDefinitions>
  623. <ColumnDefinition
  624. x:Name="BOTACloumn"
  625. Width="{Binding BOTAWidth, Mode=TwoWay}"
  626. MinWidth="48"
  627. MaxWidth="472" />
  628. <ColumnDefinition Width="auto" />
  629. <ColumnDefinition
  630. Name="ViewerColumn"
  631. Width="*"
  632. MinWidth="200" />
  633. <ColumnDefinition Name="PropertyColumn" MinWidth="0">
  634. <ColumnDefinition.Style>
  635. <Style TargetType="{x:Type ColumnDefinition}">
  636. <Style.Triggers>
  637. <DataTrigger Binding="{Binding ElementName=TbtnProperty, Path=IsChecked}" Value="True">
  638. <Setter Property="Width" Value="260" />
  639. </DataTrigger>
  640. <DataTrigger Binding="{Binding ElementName=TbtnProperty, Path=IsChecked}" Value="False">
  641. <Setter Property="Width" Value="0" />
  642. </DataTrigger>
  643. </Style.Triggers>
  644. </Style>
  645. </ColumnDefinition.Style>
  646. </ColumnDefinition>
  647. </Grid.ColumnDefinitions>
  648. <ContentControl
  649. x:Name="BOTAContent"
  650. prism:RegionManager.RegionName="{Binding BOTARegionName}"
  651. SizeChanged="ContentControl_SizeChanged" />
  652. <GridSplitter
  653. Name="BOTASplitter"
  654. Grid.Column="1"
  655. Width="3"
  656. Background="Transparent"
  657. Cursor="SizeWE"
  658. FocusVisualStyle="{x:Null}"
  659. ResizeBehavior="PreviousAndNext"
  660. ShowsPreview="True" />
  661. <Grid Name="GridViewer" Grid.Column="2">
  662. <!-- 分屏功能需要的布局 -->
  663. <Grid.RowDefinitions>
  664. <RowDefinition Height="*" />
  665. <RowDefinition Height="auto" />
  666. <RowDefinition Name="RowRight" Height="0" />
  667. </Grid.RowDefinitions>
  668. <Grid.ColumnDefinitions>
  669. <ColumnDefinition Width="*" />
  670. <ColumnDefinition Name="ColumnSplitter" Width="auto" />
  671. <ColumnDefinition Name="ColumnBottom" Width="0" />
  672. </Grid.ColumnDefinitions>
  673. <ContentControl />
  674. <ContentControl
  675. x:Name="PDFViewerContent"
  676. HorizontalAlignment="Stretch"
  677. prism:RegionManager.RegionName="{Binding ViwerRegionName}" />
  678. <ContentControl
  679. Name="SplitPDFViewer"
  680. Grid.Row="2"
  681. Grid.Column="2"
  682. prism:RegionManager.RegionName="{Binding SplitViewerRegionName}" />
  683. <GridSplitter
  684. Name="VerticalSplitter"
  685. Grid.Column="1"
  686. Width="12"
  687. Background="Gray"
  688. BorderThickness="0"
  689. ResizeBehavior="PreviousAndNext"
  690. ShowsPreview="True"
  691. Visibility="Collapsed" />
  692. <GridSplitter
  693. Name="HorizontalSplitter"
  694. Grid.Row="1"
  695. Height="12"
  696. HorizontalAlignment="Stretch"
  697. Background="Gray"
  698. BorderThickness="0"
  699. ResizeBehavior="PreviousAndNext"
  700. ShowsPreview="True"
  701. Visibility="Collapsed" />
  702. </Grid>
  703. <ContentControl
  704. x:Name="OCRViewerContent"
  705. Grid.ColumnSpan="3"
  706. HorizontalAlignment="Stretch"
  707. prism:RegionManager.RegionName="{Binding OCRViewerRegionName}"
  708. Visibility="{Binding OCRContentVisible}" />
  709. <ScrollViewer
  710. Name="Scroller"
  711. Grid.Column="4"
  712. Focusable="False"
  713. VerticalScrollBarVisibility="Auto">
  714. <ContentControl Height="{Binding ElementName=Scroller, Path=ViewportHeight}" prism:RegionManager.RegionName="{Binding PropertyRegionName}" />
  715. </ScrollViewer>
  716. <!-- 阅读页顶部提示栏区域 -->
  717. <ContentControl
  718. Grid.Column="2"
  719. Width="{Binding ElementName=PDFViewerContent, Path=Width}"
  720. VerticalAlignment="Top"
  721. prism:RegionManager.RegionName="{Binding TipContentRegionName}"
  722. Visibility="{Binding TipVisible}" />
  723. <!-- 阅读页顶部侧面提示区域 -->
  724. <ContentControl
  725. Grid.Column="2"
  726. Margin="16,8"
  727. HorizontalAlignment="Right"
  728. VerticalAlignment="Top"
  729. prism:RegionManager.RegionName="{Binding LeftTipContentRegionName}"
  730. Visibility="{Binding LeftTipVisible}" />
  731. <!-- 便签弹窗 -->
  732. <Canvas
  733. x:Name="CanvasNote"
  734. Grid.Column="2"
  735. Visibility="{Binding NotePopupVisible}">
  736. <StackPanel Canvas.Left="{Binding CanvasNoteLeft}" Canvas.Bottom="{Binding CanvasNoteBottom}">
  737. <!--<TextBlock Text="000" />-->
  738. <ContentControl prism:RegionManager.RegionName="{Binding NotePopupRegionName}" />
  739. </StackPanel>
  740. </Canvas>
  741. </Grid>
  742. </Border>
  743. <!-- 用于显示页面编辑、水印、背景、标记密文等功能的区域 -->
  744. <Border
  745. Grid.Row="{Binding GridToolRow}"
  746. Grid.RowSpan="{Binding GridToolRowSpan}"
  747. BorderBrush="{StaticResource color.sys.layout.divider}"
  748. BorderThickness="0,1"
  749. Visibility="{Binding ToolContentVisible}">
  750. <ContentControl Name="ContentTool" prism:RegionManager.RegionName="{Binding ToolContentRegionName}" />
  751. </Border>
  752. <cus:LoadingControl Grid.RowSpan="3" Visibility="{Binding IsLoading}" />
  753. <Rectangle
  754. x:Name="RectangleBota"
  755. Grid.Row="2"
  756. Width="10"
  757. Height="{Binding ActualHeight, ElementName=GridViewer, Mode=OneWay}"
  758. Margin="0,0,0,0"
  759. HorizontalAlignment="Left"
  760. VerticalAlignment="Bottom"
  761. Fill="Red"
  762. Visibility="Collapsed" />
  763. <!-- 阅读模式下的页面控件 -->
  764. <Border
  765. x:Name="ReadModeContent"
  766. Grid.RowSpan="4"
  767. Height="44"
  768. Margin="0,0,0,5"
  769. HorizontalAlignment="Center"
  770. VerticalAlignment="Bottom"
  771. CornerRadius="4"
  772. MouseEnter="RectangleReadMode_MouseEnter"
  773. MouseLeave="ReadModeContent_MouseLeave"
  774. Visibility="Collapsed">
  775. <ContentControl prism:RegionManager.RegionName="{Binding ReadModeRegionName}" />
  776. </Border>
  777. <Rectangle
  778. x:Name="RectangleReadMode"
  779. Grid.RowSpan="4"
  780. Width="{Binding ActualWidth, ElementName=ReadModeContent, Mode=OneWay}"
  781. Height="44"
  782. Margin="0,0,0,5"
  783. HorizontalAlignment="Center"
  784. VerticalAlignment="Bottom"
  785. Fill="Transparent"
  786. MouseEnter="RectangleReadMode_MouseEnter"
  787. Visibility="Collapsed" />
  788. </Grid>
  789. </UserControl>