BottomToolContent.xaml 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318
  1. <UserControl
  2. x:Class="PDF_Office.Views.BottomToolContent"
  3. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  4. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  5. xmlns:cus="clr-namespace:PDF_Office.CustomControl"
  6. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  7. xmlns:i="http://schemas.microsoft.com/xaml/behaviors"
  8. xmlns:local="clr-namespace:PDF_Office.Views"
  9. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  10. xmlns:prism="http://prismlibrary.com/"
  11. xmlns:sys="clr-namespace:System;assembly=System"
  12. xmlns:viewmodels="clr-namespace:PDF_Office.ViewModels"
  13. d:DataContext="{d:DesignInstance Type=viewmodels:BottomToolContentViewModel}"
  14. d:DesignHeight="450"
  15. d:DesignWidth="1280"
  16. prism:ViewModelLocator.AutoWireViewModel="True"
  17. BorderBrush="{StaticResource color.sys.layout.divider}"
  18. BorderThickness="0,1,0,0"
  19. mc:Ignorable="d">
  20. <UserControl.Resources />
  21. <Grid Height="32" Background="{StaticResource color.sys.layout.mg}">
  22. <Grid.ColumnDefinitions>
  23. <ColumnDefinition Width="*" />
  24. <ColumnDefinition Width="auto" MinWidth="{Binding ElementName=StkPnlCenter, Path=ActualWidth}" />
  25. <ColumnDefinition MinWidth="{Binding ElementName=StkPnlRight, Path=ActualWidth}" />
  26. </Grid.ColumnDefinitions>
  27. <StackPanel
  28. Name="StkPnlCenter"
  29. Grid.Column="1"
  30. HorizontalAlignment="Center"
  31. Orientation="Horizontal">
  32. <Button
  33. Width="24"
  34. Height="24"
  35. Margin="4"
  36. Command="{Binding FirstPageCommand}">
  37. <Path
  38. HorizontalAlignment="Center"
  39. Data="M5.01864718,2 L5.01864718,14 L4,14 L4,2 L5.01864718,2 Z M11.2797077,2.64644661 L12,3.35355339 L7.2668015,8 L12,12.6464466 L11.2797077,13.3535534 L5.82632562,8 L11.2797077,2.64644661 Z"
  40. Fill="Black">
  41. <Path.RenderTransform>
  42. <TransformGroup>
  43. <TranslateTransform X="-2" />
  44. </TransformGroup>
  45. </Path.RenderTransform>
  46. </Path>
  47. </Button>
  48. <Button
  49. Width="24"
  50. Height="24"
  51. Margin="4"
  52. Command="{Binding PrePageCommand}">
  53. <Polygon Fill="Black" Points="14.25 5.45223214 13.5232733 4.75 8.25 9.84553571 2.97672673 4.75 2.25 5.45223214 8.25 11.25">
  54. <Polygon.RenderTransform>
  55. <TransformGroup>
  56. <TranslateTransform X="8.250000" Y="8.000000" />
  57. <ScaleTransform ScaleX="-1" ScaleY="1" />
  58. <RotateTransform Angle="90" />
  59. <TranslateTransform X="22.250000" Y="23.000000" />
  60. </TransformGroup>
  61. </Polygon.RenderTransform>
  62. </Polygon>
  63. </Button>
  64. <cus:TextBoxEx
  65. Width="57"
  66. Height="24"
  67. Padding="10,0,0,0"
  68. VerticalAlignment="Center"
  69. VerticalContentAlignment="Center"
  70. CornerRadius="4"
  71. FontSize="12"
  72. InputMethod.IsInputMethodEnabled="False"
  73. Text="{Binding CurrentPage}">
  74. <i:Interaction.Triggers>
  75. <i:EventTrigger EventName="KeyDown">
  76. <i:InvokeCommandAction Command="{Binding PageTextKeyDownCommand}" PassEventArgsToCommand="True" />
  77. </i:EventTrigger>
  78. <i:EventTrigger EventName="PreviewKeyDown">
  79. <i:InvokeCommandAction Command="{Binding PageTextPreviewKeyDownCommand}" PassEventArgsToCommand="True" />
  80. </i:EventTrigger>
  81. </i:Interaction.Triggers>
  82. </cus:TextBoxEx>
  83. <TextBlock
  84. Margin="8,0"
  85. VerticalAlignment="Center"
  86. Text="/" />
  87. <TextBlock
  88. MinWidth="13"
  89. VerticalAlignment="Center"
  90. Text="{Binding PageCount, StringFormat={}{0}}" />
  91. <Button
  92. Width="24"
  93. Height="24"
  94. Margin="4"
  95. Command="{Binding NextPageCommand}">
  96. <Polygon Fill="Black" Points="14.25 5.45223214 13.5232733 4.75 8.25 9.84553571 2.97672673 4.75 2.25 5.45223214 8.25 11.25">
  97. <Polygon.RenderTransform>
  98. <TransformGroup>
  99. <TranslateTransform X="8.000000" Y="8.000000" />
  100. <ScaleTransform ScaleX="-1" ScaleY="1" />
  101. <RotateTransform Angle="-90" />
  102. <TranslateTransform X="-8.000000" Y="-10.000000" />
  103. </TransformGroup>
  104. </Polygon.RenderTransform>
  105. </Polygon>
  106. </Button>
  107. <Button
  108. Width="24"
  109. Height="24"
  110. Margin="4"
  111. Command="{Binding LastPageCommand}">
  112. <Path Data="M12.0252351,2 L12.0252351,14 L11.0252351,14 L11.0252351,2 L12.0252351,2 Z M4.6892629,2.64644661 L9.90771909,8 L4.6892629,13.3535534 L4,12.6464466 L8.52929737,8 L4,3.35355339 L4.6892629,2.64644661 Z" Fill="Black">
  113. <Path.RenderTransform>
  114. <TransformGroup>
  115. <TranslateTransform X="-3" />
  116. </TransformGroup>
  117. </Path.RenderTransform>
  118. </Path>
  119. </Button>
  120. <Separator Margin="4,0,0,0" Style="{StaticResource VerticalSeparatorStyle}" />
  121. <Button
  122. Width="24"
  123. Height="24"
  124. Margin="8,0" />
  125. <Button Width="24" Height="24" />
  126. </StackPanel>
  127. <StackPanel
  128. x:Name="StkPnlRight"
  129. Grid.Column="2"
  130. HorizontalAlignment="Right"
  131. IsEnabled="{Binding RightPanelEnable}"
  132. Orientation="Horizontal">
  133. <ToggleButton
  134. Width="24"
  135. Height="24"
  136. Margin="4"
  137. Command="{Binding SetViewModeCommand}"
  138. IsChecked="{Binding IsContinue}"
  139. Style="{StaticResource SubToolbarTgb}">
  140. <Grid>
  141. <Polygon Fill="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=ToggleButton}, Path=Foreground}" Points="2 0 2 6 14 6 14 0 15 0 15 7 1 7 1 0" />
  142. <Path Data="M10.807106,9 L15,13.3928931 L15,16 L14,16 L14,14 L9.999999,14 L9.999,10 L2,10 L2,16 L1,16 L1,9 L10.807106,9 Z M13.237,13 L10.999,10.64 L10.999,13 L13.237,13 Z" Fill="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=ToggleButton}, Path=Foreground}" />
  143. </Grid>
  144. </ToggleButton>
  145. <Separator
  146. Width="1"
  147. Height="10"
  148. Style="{StaticResource {x:Static ToolBar.SeparatorStyleKey}}" />
  149. <RadioButton
  150. Width="24"
  151. Height="24"
  152. Margin="4"
  153. Command="{Binding SetViewModeCommand}"
  154. IsChecked="{Binding IsSingleView}"
  155. Style="{StaticResource StateBarRbt}">
  156. <Path Data="M9.80710597,0 L14,4.39289312 L14,16 L2,16 L2,0 L9.80710597,0 Z M8.999,1 L3,1 L3,15 L13,15 L13,4.999 L8.999999,5 L8.999,1 Z M12.236,3.999 L9.999,1.64 L9.999,4 L12.236,3.999 Z" Fill="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=RadioButton}, Path=Foreground}" />
  157. </RadioButton>
  158. <RadioButton
  159. Width="24"
  160. Height="24"
  161. Margin="4"
  162. Command="{Binding SetViewModeCommand}"
  163. Cursor="Hand"
  164. IsChecked="{Binding IsDoubleView}"
  165. Style="{StaticResource StateBarRbt}">
  166. <Path Data="M0,15 L0,1 L11.807106,1 L16,5.39289312 L16,15 L0,15 Z M7.5,2 L1,2 L1,14 L7.5,14 L7.5,2 Z M10.999,2 L8.5,2 L8.5,14 L15,14 L15,5.999 L10.999999,6 L10.999,2 Z M11.999,2.64 L11.999,5 L14.236,4.999 L11.999,2.64 Z" Fill="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=RadioButton}, Path=Foreground}" />
  167. </RadioButton>
  168. <RadioButton
  169. Width="24"
  170. Height="24"
  171. Margin="4"
  172. Command="{Binding SetViewModeCommand}"
  173. IsChecked="{Binding IsBookMode}"
  174. Style="{StaticResource StateBarRbt}">
  175. <Path Data="M7,11 L7,16 L6,16 L6,12 L1,12 L1,16 L0,16 L0,11 L7,11 Z M16,11 L16,16 L15,16 L15,12 L10,12 L10,16 L9,16 L9,11 L16,11 Z M3.80710597,0 L7,3.39289312 L7,9 L0,9 L0,0 L3.80710597,0 Z M2.999,1 L1,1 L1,8 L6,8 L6,3.999 L2.999999,4 L2.999,1 Z M3.999,1.652 L3.999,3 L5.251,2.999 L3.999,1.652 Z" Fill="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=RadioButton}, Path=Foreground}" />
  176. </RadioButton>
  177. <Separator
  178. Width="1"
  179. Height="10"
  180. Style="{StaticResource {x:Static ToolBar.SeparatorStyleKey}}" />
  181. <ToggleButton
  182. Name="TbtnIsViewPanelOpen"
  183. Width="24"
  184. Height="24"
  185. Margin="4"
  186. Command="{Binding ShowViewModularCommand}"
  187. IsChecked="{Binding IsShowViewModular}"
  188. Style="{StaticResource SubToolbarTgb}">
  189. <Path Data="M1.5 13V3H7.25V13H1.5ZM8.75 13H14.5V3H8.75V13ZM0 2.5C0 1.94772 0.447715 1.5 1 1.5H15C15.5523 1.5 16 1.94772 16 2.5V13.5C16 14.0523 15.5523 14.5 15 14.5H1C0.447715 14.5 0 14.0523 0 13.5V2.5ZM3 6.25H6V7.75H3V6.25ZM6 9.25H3V10.75H6V9.25Z" Fill="{StaticResource color.icon.base.neutral.norm.lv1}" />
  190. </ToggleButton>
  191. <StackPanel
  192. Height="16"
  193. FocusVisualStyle="{x:Null}"
  194. Orientation="Horizontal">
  195. <Grid>
  196. <ComboBox
  197. Width="72"
  198. Background="White"
  199. FocusVisualStyle="{x:Null}"
  200. MaxDropDownHeight="510"
  201. SelectedIndex="{Binding SelectedIndex, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}">
  202. <i:Interaction.Triggers>
  203. <i:EventTrigger EventName="SelectionChanged">
  204. <i:InvokeCommandAction Command="{Binding SelectionChangedCommand}" PassEventArgsToCommand="True" />
  205. </i:EventTrigger>
  206. </i:Interaction.Triggers>
  207. <ComboBoxItem x:Name="ActualSize" Style="{StaticResource ZoomComboxItemStyle}">
  208. <StackPanel Orientation="Horizontal">
  209. <Border x:Name="ActualSizeBorder" Margin="10,0,12,0">
  210. <!--<Path Fill="Black" VerticalAlignment="Center" HorizontalAlignment="Center" Data="M10.807106,0.0999999046 L15.0999992,5.39289312 L15.0999992,15.8999991 L0.899999857,15.8999991 L0.899999857,0.0999999046 L10.807106,0.0999999046 Z M10.3929999,1.0999999 L1.89999986,1.0999999 L1.89999986,14.8989999 L14.0989999,14.8989999 L14.0989999,5.8059999 L10.3929999,1.0999999 Z M8,10.53125 C8.15885417,10.53125 8.29361979,10.5833333 8.40429688,10.6875 C8.51497396,10.7916667 8.5703125,10.9166667 8.5703125,11.0625 C8.5703125,11.2057292 8.51497396,11.328776 8.40429688,11.4316406 C8.29361979,11.5345052 8.15885417,11.5859375 8,11.5859375 C7.84375,11.5859375 7.7109375,11.5345052 7.6015625,11.4316406 C7.4921875,11.328776 7.4375,11.2057292 7.4375,11.0625 C7.4375,10.9166667 7.4921875,10.7916667 7.6015625,10.6875 C7.7109375,10.5833333 7.84375,10.53125 8,10.53125 Z M6.21875,5.7734375 L6.21875,11.5 L5.3125,11.5 L5.3125,6.8828125 C5.1484375,7 4.97200521,7.09960938 4.78320312,7.18164062 C4.59440104,7.26367188 4.37890625,7.3359375 4.13671875,7.3984375 L4.13671875,7.3984375 L4.13671875,6.625 C4.28776042,6.57552083 4.43359375,6.5234375 4.57421875,6.46875 C4.71484375,6.4140625 4.85351562,6.35286458 4.99023438,6.28515625 C5.12695312,6.21744792 5.26497396,6.14192708 5.40429688,6.05859375 C5.54361979,5.97526042 5.6875,5.88020833 5.8359375,5.7734375 L5.8359375,5.7734375 L6.21875,5.7734375 Z M11.3671875,5.7734375 L11.3671875,11.5 L10.4609375,11.5 L10.4609375,6.8828125 C10.296875,7 10.1204427,7.09960938 9.93164062,7.18164062 C9.74283854,7.26367188 9.52734375,7.3359375 9.28515625,7.3984375 L9.28515625,7.3984375 L9.28515625,6.625 C9.43619792,6.57552083 9.58203125,6.5234375 9.72265625,6.46875 C9.86328125,6.4140625 10.0019531,6.35286458 10.1386719,6.28515625 C10.2753906,6.21744792 10.4134115,6.14192708 10.5527344,6.05859375 C10.6920573,5.97526042 10.8359375,5.88020833 10.984375,5.7734375 L10.984375,5.7734375 L11.3671875,5.7734375 Z M8,7.44140625 C8.15885417,7.44140625 8.29361979,7.49348958 8.40429688,7.59765625 C8.51497396,7.70182292 8.5703125,7.82682292 8.5703125,7.97265625 C8.5703125,8.11588542 8.51497396,8.23893229 8.40429688,8.34179688 C8.29361979,8.44466146 8.15885417,8.49609375 8,8.49609375 C7.84375,8.49609375 7.7109375,8.44466146 7.6015625,8.34179688 C7.4921875,8.23893229 7.4375,8.11588542 7.4375,7.97265625 C7.4375,7.82682292 7.4921875,7.70182292 7.6015625,7.59765625 C7.7109375,7.49348958 7.84375,7.44140625 8,7.44140625 Z" />-->
  211. </Border>
  212. <TextBlock
  213. x:Name="ActualSizeText"
  214. VerticalAlignment="Center"
  215. Text="Actual Size" />
  216. </StackPanel>
  217. </ComboBoxItem>
  218. <ComboBoxItem x:Name="FitWidth" Style="{StaticResource ZoomComboxItemStyle}">
  219. <StackPanel Orientation="Horizontal ">
  220. <Border Name="FitWidthBorder" Margin="10,0,12,0">
  221. <!--<Image Width="16" Height="16" Source="../Resources/Image/bottombar/fitwidth.png" />-->
  222. </Border>
  223. <TextBlock x:Name="FitWidthText" Text="Fit Width" />
  224. </StackPanel>
  225. </ComboBoxItem>
  226. <ComboBoxItem x:Name="FitHeight" Style="{StaticResource ZoomComboxItemStyle}">
  227. <StackPanel Orientation="Horizontal">
  228. <Border Name="FitHeightBorder" Margin="10,0,12,0">
  229. <!--<Image Width="16" Height="16" Source="../Resources/Image/bottombar/adaptationHeight.png" />-->
  230. </Border>
  231. <TextBlock x:Name="FitHeightText" Text="Fit Height" />
  232. </StackPanel>
  233. </ComboBoxItem>
  234. <Separator
  235. Height="1"
  236. BorderBrush="#33000000"
  237. BorderThickness="1"
  238. Style="{StaticResource {x:Static ToolBar.SeparatorStyleKey}}" />
  239. <ComboBoxItem
  240. Padding="40,0,0,0"
  241. Content="10%"
  242. Style="{StaticResource ZoomComboxItemStyle}"
  243. Tag="10" />
  244. <ComboBoxItem
  245. Padding="40,0,0,0"
  246. Content="25%"
  247. Style="{StaticResource ZoomComboxItemStyle}"
  248. Tag="25" />
  249. <ComboBoxItem
  250. Padding="40,0,0,0"
  251. Content="50%"
  252. Style="{StaticResource ZoomComboxItemStyle}"
  253. Tag="50" />
  254. <ComboBoxItem
  255. Padding="40,0,0,0"
  256. Content="100%"
  257. Style="{StaticResource ZoomComboxItemStyle}"
  258. Tag="100" />
  259. <ComboBoxItem
  260. Padding="40,0,0,0"
  261. Content="150%"
  262. Style="{StaticResource ZoomComboxItemStyle}"
  263. Tag="150" />
  264. <ComboBoxItem
  265. Padding="40,0,0,0"
  266. Content="200%"
  267. Style="{StaticResource ZoomComboxItemStyle}"
  268. Tag="200" />
  269. <ComboBoxItem
  270. Padding="40,0,0,0"
  271. Content="300%"
  272. Style="{StaticResource ZoomComboxItemStyle}"
  273. Tag="300" />
  274. <ComboBoxItem
  275. Padding="40,0,0,0"
  276. Content="400%"
  277. Style="{StaticResource ZoomComboxItemStyle}"
  278. Tag="400" />
  279. <ComboBoxItem
  280. Padding="40,0,0,0"
  281. Content="500%"
  282. Style="{StaticResource ZoomComboxItemStyle}"
  283. Tag="500" />
  284. <ComboBoxItem
  285. Padding="40,0,0,0"
  286. Content="1000%"
  287. Style="{StaticResource ZoomComboxItemStyle}"
  288. Tag="1000" />
  289. </ComboBox>
  290. <TextBlock
  291. Width="45"
  292. Height="14"
  293. Margin="4,0,0,0"
  294. HorizontalAlignment="Left"
  295. Background="White"
  296. Text="{Binding CurrentZoom, StringFormat={}{0}%}" />
  297. </Grid>
  298. <StackPanel Orientation="Horizontal">
  299. <Button
  300. Width="14"
  301. Height="16"
  302. VerticalContentAlignment="Center"
  303. Command="{Binding ZoomInCommand}"
  304. Content="+" />
  305. <Button
  306. Width="14"
  307. Height="16"
  308. VerticalContentAlignment="Center"
  309. Command="{Binding ZoomOutCommand}"
  310. Content="-" />
  311. </StackPanel>
  312. </StackPanel>
  313. </StackPanel>
  314. </Grid>
  315. </UserControl>