MainWindow.xaml 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272
  1. <Window x:Class="AnnotationViewControl.MainWindow"
  2. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  3. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  4. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  5. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  6. xmlns:local="clr-namespace:AnnotationViewControl"
  7. xmlns:pdfControl="clr-namespace:Compdfkit_Tools.PDFControl;assembly=ComPDFKit_Tools"
  8. xmlns:common="clr-namespace:Compdfkit_Tools.Common;assembly=ComPDFKit_Tools"
  9. mc:Ignorable="d"
  10. Loaded="MainWindow_Loaded"
  11. Title="{Binding AppInfo}" Height="720" Width="1080" WindowStartupLocation="CenterScreen">
  12. <Window.Resources>
  13. <ResourceDictionary>
  14. <ResourceDictionary.MergedDictionaries>
  15. <ResourceDictionary Source="pack://application:,,,/Compdfkit_Tools;component/Asset/Styles/ToggleButtonStyle.xaml"></ResourceDictionary>
  16. <ResourceDictionary Source="pack://application:,,,/Compdfkit_Tools;component/Asset/Styles/ButtonStyle.xaml"></ResourceDictionary>
  17. <ResourceDictionary Source="pack://application:,,,/Compdfkit_Tools;component/Asset/Styles/ComboBoxStyle.xaml"></ResourceDictionary>
  18. </ResourceDictionary.MergedDictionaries>
  19. <common:DocInfoResourceConverter x:Key="DocInfoResourceConverter"></common:DocInfoResourceConverter>
  20. </ResourceDictionary>
  21. </Window.Resources>
  22. <Grid>
  23. <Grid>
  24. <Grid.RowDefinitions>
  25. <RowDefinition Height="Auto"></RowDefinition>
  26. <RowDefinition Height="*"></RowDefinition>
  27. </Grid.RowDefinitions>
  28. <Grid>
  29. <Grid.ColumnDefinitions>
  30. <ColumnDefinition Width="auto"></ColumnDefinition>
  31. <ColumnDefinition Width="*"></ColumnDefinition>
  32. <ColumnDefinition Width="auto"></ColumnDefinition>
  33. </Grid.ColumnDefinitions>
  34. <StackPanel Orientation="Horizontal" Height="40" Margin="20,0,0,0">
  35. <Button BorderThickness="0" VerticalContentAlignment="Center" Width="30" Height="30" Style="{StaticResource LightButtonStyle}" Background="Transparent" Click="OpenFile_Click">
  36. <Button.Content>
  37. <Viewbox Width="20" Height="20">
  38. <Path Fill="#43474D" >
  39. <Path.Data>
  40. M3.75,2 L3.91967773,2.00463867 C4.08325195,2.01391602 4.22851562,2.03710938 4.35546875,2.07421875 C4.52473958,2.12369792
  41. 4.67578125,2.18489583 4.80859375,2.2578125 C4.94140625,2.33072917 5.05989583,2.41145833 5.1640625,2.5 C5.26822917,2.58854167
  42. 5.37369792,2.66927083 5.48046875,2.7421875 C5.58723958,2.81510417 5.70182292,2.87630208 5.82421875,2.92578125 C5.94661458,2.97526042
  43. 6.08854167,3 6.25,3 L6.25,3 L12,3 L12.1371528,3.00868056 C12.2262731,3.02025463 12.3107639,3.04340278 12.390625,3.078125
  44. C12.5104167,3.13020833 12.6158854,3.20182292 12.7070312,3.29296875 C12.7981771,3.38411458 12.8697917,3.48958333 12.921875,3.609375
  45. C12.9739583,3.72916667 13,3.859375 13,4 L13,4 L13,6 L15,6 L15.1332465,6.00868056 C15.2206308,6.02025463 15.3051215,6.04340278
  46. 15.3867188,6.078125 C15.5091146,6.13020833 15.6158854,6.20182292 15.7070312,6.29296875 C15.7981771,6.38411458 15.8697917,6.48958333
  47. 15.921875,6.609375 C15.9739583,6.72916667 16,6.85677083 16,6.9921875 C16,7.1484375 15.9635417,7.29947917 15.890625,7.4453125
  48. L15.890625,7.4453125 L12.6171875,14 L0,14 L0,3 L0.00868055556,2.86284722 C0.0202546296,2.77372685 0.0434027778,2.68923611 0.078125,2.609375
  49. C0.130208333,2.48958333 0.201822917,2.38411458 0.29296875,2.29296875 C0.384114583,2.20182292 0.489583333,2.13020833 0.609375,2.078125
  50. C0.729166667,2.02604167 0.859375,2 1,2 L1,2 L3.75,2 Z M15,7 L4.3125,7 L1.3125,13 L12,13 L15,7 Z M3.75,3 L1,3 L1,11.3828125 L3.4140625,6.5546875
  51. L3.48706055,6.43261719 C3.56665039,6.31738281 3.66601562,6.22265625 3.78515625,6.1484375 C3.94401042,6.04947917 4.11979167,6 4.3125,6
  52. L4.3125,6 L12,6 L12,4 L6.25,4 L6.08032227,3.99536133 C5.91674805,3.98608398 5.77148438,3.96289062 5.64453125,3.92578125 C5.47526042,3.87630208
  53. 5.32421875,3.81510417 5.19140625,3.7421875 C5.05859375,3.66927083 4.94010417,3.58854167 4.8359375,3.5 C4.73177083,3.41145833 4.62630208,3.33072917
  54. 4.51953125,3.2578125 C4.41276042,3.18489583 4.29817708,3.12369792 4.17578125,3.07421875 C4.05338542,3.02473958 3.91145833,3 3.75,3 L3.75,3 Z
  55. </Path.Data>
  56. </Path>
  57. </Viewbox>
  58. </Button.Content>
  59. <Button.ToolTip>
  60. <ToolTip Content="Open..."></ToolTip>
  61. </Button.ToolTip>
  62. </Button>
  63. <Button BorderThickness="0" VerticalContentAlignment="Center" Margin="10,0,0,0" Width="30" Height="30" Style="{StaticResource LightButtonStyle}" Background="Transparent"
  64. Click="SaveFileBtn_Click" IsEnabled="{Binding CanSave,Mode=OneWay}">
  65. <Button.Content>
  66. <Viewbox Width="20" Height="20">
  67. <Path Fill="#43474D" >
  68. <Path.Data>
  69. M11.707107,1 L15,4.29289322 L15,15 L1,15 L1,1 L11.707107,1 Z M11.293,2 L2,2 L2,14 L4,14 L4,8 L12,8 L12,14 L14,14 L14,4.707 L11.293,2 Z
  70. M11,9 L5,9 L5,14 L11,14 L11,9 Z M7,5 L7,6 L4,6 L4,5 L7,5 Z
  71. </Path.Data>
  72. </Path>
  73. </Viewbox>
  74. </Button.Content>
  75. <Button.ToolTip>
  76. <ToolTip Content="Save"></ToolTip>
  77. </Button.ToolTip>
  78. </Button>
  79. <ToggleButton Name="LeftToolPanelButton" Margin="13,0,0,0" BorderThickness="0" Width="30" Height="30" Style="{StaticResource ToggleButtonStyle}" Background="Transparent" IsChecked="{Binding LeftToolPanelButtonIsChecked, Mode=TwoWay}" Click="LeftToolPanelButton_Click">
  80. <ToggleButton.Content>
  81. <Path Fill="#43474D" Width="30" Height="30">
  82. <Path.Data>
  83. M22.5 8.5H7.5V12.25H13H22.5V8.5ZM12.25 13.75H7.5V21.5H12.25V13.75ZM13.75 21.5V13.75H22.5V21.5H13.75ZM7.5 7H6V8.5V21.5V23H7.5H22.5H24V21.5V8.5V7H22.5H7.5Z
  84. </Path.Data>
  85. </Path>
  86. </ToggleButton.Content>
  87. <ToggleButton.ToolTip>
  88. <ToolTip Content="Panel"></ToolTip>
  89. </ToggleButton.ToolTip>
  90. </ToggleButton>
  91. <Line Margin="13,0,13,0" Stroke="#E0E0E0" X1="0" Y1="5" X2="0" Y2="35"></Line>
  92. <ToggleButton BorderThickness="0" Width="30" Height="30" Style="{StaticResource ToggleButtonStyle}" Background="Transparent" IsChecked="True" IsEnabled="False" Visibility="Collapsed">
  93. <ToggleButton.Content>
  94. <Path Fill="#43474D">
  95. <Path.Data>
  96. M8.7463 7.94055L8.43134 3.20358C8.38986 2.6073 8.82031 2.08322 9.40947 2.01273L9.46546 2.00656C9.75502 1.97416 10.0451 2.06271 10.2681 2.25159C10.4911
  97. 2.44047 10.6276 2.71317 10.6457 3.00614L10.9886 8.17061C10.999 8.31659 11.1097 8.43516 11.2537 8.45444C11.3176 8.46288 11.382 8.44409 11.4315
  98. 8.40258C11.481 8.36108 11.5111 8.30063 11.5145 8.23584L11.7612 3.47595C11.7918 2.85998 12.3116 2.38523 12.923 2.41468H12.9309C13.5429 2.44972
  99. 14.0111 2.97745 13.9773 3.59407L13.7218 8.51438C13.7137 8.66679 13.8235 8.79975 13.9738 8.81936C14.1225 8.83876 14.2625 8.73915 14.2914
  100. 8.59018L14.8006 6.02337C14.9178 5.41517 15.497 5.01851 16.0954 5.13574L16.1041 5.13751C16.7058 5.25854 17.0969 5.84695 16.979 6.45353L16.3684
  101. 9.53687C15.8189 13.3474 15.0586 15.5052 14.3946 16.4246C13.3649 17.8508 11.5573 17.8667 10.1251 17.8667C8.69381 17.8667 7.16012 17.5291 6.44796
  102. 16.9993C5.73492 16.4696 4.77079 15.2575 4.15837 13.9327L4.16712 13.9283C4.11876 13.8639 4.0774 13.7945 4.04376 13.7212L3.105 11.685C2.84552 11.1243
  103. 3.08338 10.4577 3.63781 10.1918L3.64656 10.1874C3.91235 10.0626 4.21656 10.0497 4.49179 10.1517C4.76702 10.2536 4.99055 10.4619 5.11287 10.7304C5.62206
  104. 11.8234 5.94227 12.324 6.07526 12.2324C6.27386 12.0949 6.12075 11.7176 5.85478 9.21249C5.67578 7.53039 5.45319 5.85328 5.18724 4.18289C5.07653 3.5968
  105. 5.44002 3.02581 6.01489 2.88273L6.07526 2.86775C6.35866 2.79957 6.65742 2.85178 6.90147 3.01215C7.14552 3.17252 7.3134 3.42693 7.36572 3.71571L8.168
  106. 8.02341C8.19642 8.17613 8.33897 8.27937 8.49171 8.25787C8.64561 8.23564 8.75656 8.09774 8.7463 7.94143V7.94055Z
  107. </Path.Data>
  108. </Path>
  109. </ToggleButton.Content>
  110. </ToggleButton>
  111. <Line Margin="13,0,13,0" Stroke="#E0E0E0" X1="0" Y1="5" X2="0" Y2="35"></Line>
  112. <pdfControl:CPDFScalingControl x:Name="CPDFSaclingControl"></pdfControl:CPDFScalingControl>
  113. </StackPanel>
  114. <ComboBox Name="ModeComboBox" Style="{StaticResource ComboBoxStyle1}" Width="120" Height="26" Grid.Column="1" HorizontalAlignment="Center" FontSize="14" Foreground="#001A4E" SelectionChanged="ComboBox_SelectionChanged">
  115. <ComboBoxItem IsSelected="True" Tag="Viewer">Viewer</ComboBoxItem>
  116. <ComboBoxItem Tag="Annotation">Annotation</ComboBoxItem>
  117. </ComboBox>
  118. <StackPanel Orientation="Horizontal" Grid.Column="2">
  119. <Button BorderThickness="0" Width="40" Height="40" Style="{StaticResource LightButtonStyle}" Background="Transparent" Click="ExpandSearchBtn_Click">
  120. <Button.Content>
  121. <Path Fill="#43474D">
  122. <Path.Data>
  123. M5.10992 13.9353C2.71184 11.5372 2.71184 7.64917 5.10992 5.25108C7.50801 2.853 11.3961 2.853 13.7942 5.25108C16.1922 7.64917
  124. 16.1922 11.5372 13.7942 13.9353C11.3961 16.3334 7.50801 16.3334 5.10992 13.9353ZM4.04926 4.19042C1.06539 7.17429 1.06539 12.0121
  125. 4.04926 14.996C6.85422 17.8009 11.2975 17.9691 14.2989 15.5005L17.1989 18.4006C17.4918 18.6935 17.9667 18.6935 18.2596
  126. 18.4006C18.5525 18.1077 18.5525 17.6328 18.2596 17.3399L15.3595 14.4399C17.828 11.4384 17.6597 6.99533 14.8548
  127. 4.19042C11.8709 1.20655 7.03313 1.20655 4.04926 4.19042Z
  128. </Path.Data>
  129. </Path>
  130. </Button.Content>
  131. <Button.ToolTip>
  132. <ToolTip Content="Search"></ToolTip>
  133. </Button.ToolTip>
  134. </Button>
  135. <ToggleButton x:Name="RightPanelButton" BorderThickness="0" Width="40" Height="40" Style="{StaticResource ToggleButtonStyle}" Background="Transparent" IsChecked="{Binding RightToolPanelButtonIsChecked, Mode=TwoWay}" Click="RightPanelButton_Click">
  136. <ToggleButton.Content>
  137. <Path Fill="#43474D" Width="30" Height="30">
  138. <Path.Data>
  139. M22.5 8.5H7.5V12.25H13H22.5V8.5ZM12.25 13.75H7.5V21.5H12.25V13.75ZM13.75 21.5V13.75H22.5V21.5H13.75ZM7.5 7H6V8.5V21.5V23H7.5H22.5H24V21.5V8.5V7H22.5H7.5Z
  140. </Path.Data>
  141. </Path>
  142. </ToggleButton.Content>
  143. <ToggleButton.ToolTip>
  144. <ToolTip Content="Properties"></ToolTip>
  145. </ToggleButton.ToolTip>
  146. </ToggleButton>
  147. <ToggleButton Name="ViewSettingBtn" BorderThickness="0" Width="40" Height="40" Style="{StaticResource ToggleButtonStyle}" IsChecked="{Binding ViewSettingBtnIsChecked, Mode=TwoWay}" Background="Transparent" Click="ViewSettingBtn_Click">
  148. <ToggleButton.Content>
  149. <Path Stroke="#43474D" VerticalAlignment="Center" StrokeThickness="2">
  150. <Path.Data>
  151. <CombinedGeometry GeometryCombineMode="Exclude">
  152. <CombinedGeometry.Geometry1>
  153. M18.3327 10C18.3327 10 14.6017 16.25 9.99935 16.25C5.39698 16.25 1.66602 10 1.66602 10C1.66602 10 5.39698 3.75 9.99935 3.75C14.6017 3.75 18.3327 10 18.3327 10Z
  154. </CombinedGeometry.Geometry1>
  155. <CombinedGeometry.Geometry2>
  156. <EllipseGeometry Center="10,10" RadiusX="2" RadiusY="2"/>
  157. </CombinedGeometry.Geometry2>
  158. </CombinedGeometry>
  159. </Path.Data>
  160. </Path>
  161. </ToggleButton.Content>
  162. <ToggleButton.ToolTip>
  163. <ToolTip Content="Page Display"></ToolTip>
  164. </ToggleButton.ToolTip>
  165. </ToggleButton>
  166. <Button BorderThickness="0" Width="40" Height="40" Style="{StaticResource LightButtonStyle}" Background="Transparent" Click="PageInfoBtn_Click">
  167. <Button.Content>
  168. <Path Fill="#43474D" VerticalAlignment="Center">
  169. <Path.Data>
  170. M2.75 10C2.75 5.99594 5.99594 2.75 10 2.75C14.0041 2.75 17.25 5.99594 17.25 10C17.25 14.0041 14.0041 17.25 10
  171. 17.25C5.99594 17.25 2.75 14.0041 2.75 10ZM10 1.25C5.16751 1.25 1.25 5.16751 1.25 10C1.25 14.8325 5.16751
  172. 18.75 10 18.75C14.8325 18.75 18.75 14.8325 18.75 10C18.75 5.16751 14.8325 1.25 10 1.25ZM6.5 11C7.05228 11
  173. 7.5 10.5523 7.5 10C7.5 9.44771 7.05228 9 6.5 9C5.94772 9 5.5 9.44771 5.5 10C5.5 10.5523 5.94772 11 6.5 11ZM10
  174. 11C10.5523 11 11 10.5523 11 10C11 9.44771 10.5523 9 10 9C9.44771 9 9 9.44771 9 10C9 10.5523 9.44771 11 10 11ZM14.5
  175. 10C14.5 10.5523 14.0523 11 13.5 11C12.9477 11 12.5 10.5523 12.5 10C12.5 9.44771 12.9477 9 13.5 9C14.0523 9 14.5 9.44771 14.5 10Z
  176. </Path.Data>
  177. </Path>
  178. </Button.Content>
  179. <Button.ToolTip>
  180. <ToolTip Content="Document Info"></ToolTip>
  181. </Button.ToolTip>
  182. </Button>
  183. </StackPanel>
  184. </Grid>
  185. <Grid Name="BodyGrid" Grid.Row="1">
  186. <Grid.ColumnDefinitions>
  187. <ColumnDefinition Width="0"></ColumnDefinition>
  188. <ColumnDefinition Width="0"></ColumnDefinition>
  189. <ColumnDefinition Width="*"></ColumnDefinition>
  190. <ColumnDefinition Width="auto"></ColumnDefinition>
  191. </Grid.ColumnDefinitions>
  192. <GridSplitter Name="Splitter" Grid.Column="1" Width="15" ResizeBehavior="PreviousAndNext" Visibility="Collapsed">
  193. <GridSplitter.Template>
  194. <ControlTemplate TargetType="{x:Type GridSplitter}">
  195. <Border BorderThickness="{TemplateBinding Border.BorderThickness}"
  196. BorderBrush="{TemplateBinding Border.BorderBrush}"
  197. Background="{TemplateBinding Panel.Background}" >
  198. <Path Fill="Gray" VerticalAlignment="Center">
  199. <Path.Data>
  200. M15 3.75H1V2.25H15V3.75ZM15 8.75H1V7.25H15V8.75ZM1 13.75H15V12.25H1V13.75Z
  201. </Path.Data>
  202. </Path>
  203. </Border>
  204. </ControlTemplate>
  205. </GridSplitter.Template>
  206. </GridSplitter>
  207. <Grid Grid.Column="2" >
  208. <Grid.RowDefinitions>
  209. <RowDefinition Height="auto"/>
  210. <RowDefinition Height="*"/>
  211. </Grid.RowDefinitions>
  212. <Grid Grid.Row="1">
  213. <Grid.ColumnDefinitions>
  214. <ColumnDefinition></ColumnDefinition>
  215. <ColumnDefinition Width="auto"></ColumnDefinition>
  216. </Grid.ColumnDefinitions>
  217. <Border x:Name="PDFGrid" Background="#CECECE"></Border>
  218. </Grid>
  219. </Grid>
  220. </Grid>
  221. </Grid>
  222. <Border Name="PopupBorder" Background="#A0000000" Visibility="Collapsed">
  223. <Grid>
  224. <Grid Name="FileInfoUI" Width="422" Height="680" HorizontalAlignment="Center" VerticalAlignment="Center" Background="White" Visibility="Collapsed">
  225. <Grid.ColumnDefinitions>
  226. <ColumnDefinition Width="*"></ColumnDefinition>
  227. <ColumnDefinition Width="*"></ColumnDefinition>
  228. </Grid.ColumnDefinitions>
  229. <Grid.RowDefinitions>
  230. <RowDefinition Height="auto"></RowDefinition>
  231. <RowDefinition Height="*"></RowDefinition>
  232. </Grid.RowDefinitions>
  233. <TextBlock Text="{Binding Converter={StaticResource DocInfoResourceConverter},ConverterParameter=Title_DocInfo}" Height="20" FontSize="14" LineHeight="16" Margin="12,6,0,0" HorizontalAlignment="Left"></TextBlock>
  234. <Button Grid.Column="1" Width="16" Height="16" HorizontalAlignment="Right" Margin="0,8,8,0" BorderThickness="0" Click="FileInfoCloseBtn_Click">
  235. <Button.Content>
  236. <Path Fill="Black">
  237. <Path.Data>
  238. M6.69495 6L11.5 1.19495L10.805 0.5L6 5.30505L1.19495 0.5L0.5 1.19495L5.30505 6L0.5 10.805L1.19495 11.5L6 6.69495L10.805 11.5L11.5 10.805L6.69495 6Z
  239. </Path.Data>
  240. </Path>
  241. </Button.Content>
  242. </Button>
  243. <pdfControl:CPDFInfoControl Grid.Row="1" Margin="25,10,25,0" Grid.ColumnSpan="2" Name="FileInfoControl"></pdfControl:CPDFInfoControl>
  244. </Grid>
  245. <common:PasswordDialog x:Name="PasswordUI" Visibility="Collapsed"></common:PasswordDialog>
  246. </Grid>
  247. </Border>
  248. </Grid>
  249. </Window>