LinkAnnotProperty.xaml 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331
  1. <UserControl
  2. x:Class="PDF_Office.Views.PropertyPanel.AnnotPanel.LinkAnnotProperty"
  3. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  4. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  5. xmlns:AnnotPanel="clr-namespace:PDF_Office.ViewModels.PropertyPanel.AnnotPanel"
  6. xmlns:Convert="clr-namespace:PDF_Office.DataConvert"
  7. xmlns:CustomControl="clr-namespace:PDF_Office.CustomControl"
  8. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  9. xmlns:data="clr-namespace:ComPDFKit.PDFDocument;assembly=ComPDFKit.Desk"
  10. xmlns:helper="clr-namespace:PDF_Office.Helper"
  11. xmlns:i="http://schemas.microsoft.com/xaml/behaviors"
  12. xmlns:local="clr-namespace:PDF_Office.Views.BOTA"
  13. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  14. xmlns:prism="http://prismlibrary.com/"
  15. xmlns:property="clr-namespace:PDF_Office.Properties"
  16. Name="LinkAnnotPropertyContent"
  17. d:DataContext="{d:DesignInstance Type=AnnotPanel:LinkAnnotPropertyViewModel}"
  18. d:DesignHeight="680"
  19. d:DesignWidth="260"
  20. prism:ViewModelLocator.AutoWireViewModel="True"
  21. Background="{StaticResource color.sys.layout.mg}"
  22. mc:Ignorable="d">
  23. <UserControl.Resources>
  24. <ResourceDictionary>
  25. <ResourceDictionary.MergedDictionaries>
  26. <ResourceDictionary Source="pack://application:,,,/Styles/RadioButtonStyle.xaml" />
  27. </ResourceDictionary.MergedDictionaries>
  28. <Convert:ObjectConvert x:Key="ObjectConvert" />
  29. <Convert:StringToVisibleConvert x:Key="StringToVisibleConvert" />
  30. <Convert:StringToUnVisibleConvert x:Key="StringToUnVisibleConvert" />
  31. <Convert:BoolToVisible x:Key="BoolToVisible" />
  32. <Convert:VisibleToBoolConvert x:Key="VisibleToBoolConvert" />
  33. </ResourceDictionary>
  34. </UserControl.Resources>
  35. <Grid>
  36. <StackPanel Background="{StaticResource color.sys.layout.mg}" Orientation="Vertical">
  37. <TextBlock
  38. Name="AnnotTypeTitle"
  39. Margin="16,14,0,16"
  40. HorizontalAlignment="Left"
  41. FontFamily="Segoe UI"
  42. FontSize="14"
  43. FontWeight="Bold"
  44. LineHeight="24"
  45. Text="{Binding T_Title}" />
  46. <StackPanel
  47. Name="ToggleButtonTab"
  48. Margin="12,0,0,0"
  49. Orientation="Horizontal">
  50. <RadioButton
  51. Name="BtnLinkPage"
  52. Width="75"
  53. Height="28"
  54. VerticalContentAlignment="Center"
  55. Command="{Binding ToggleButtonTabCommand}"
  56. CommandParameter="{Binding ElementName=BtnLinkPage}"
  57. GroupName="LinkTab"
  58. IsChecked="{Binding BtnLinkPageIsChecked}"
  59. Style="{StaticResource PageViewRadioBtn}"
  60. Tag="Page"
  61. Visibility="Collapsed">
  62. <StackPanel>
  63. <Path
  64. Margin="8,8,8,8"
  65. HorizontalAlignment="Center"
  66. Fill="#252629">
  67. <Path.Data>
  68. M12.8335 14.5V5.33432L9.70479 1.5H3.8335V14.5H12.8335ZM3.3335
  69. 0C2.78121 0 2.3335 0.447715 2.3335 1V15C2.3335 15.5523 2.78121 16 3.3335
  70. 16H13.3335C13.8858 16 14.3335 15.5523 14.3335 15V5.15622C14.3335 4.92583
  71. 14.2539 4.70251 14.1083 4.524L10.7169 0.367788C10.527 0.135042 10.2425
  72. 0 9.94214 0H3.3335ZM9.8335 7.25H4.8335V5.75H9.8335V7.25ZM4.8335
  73. 10.25H11.8335V8.75H4.8335V10.25Z
  74. </Path.Data>
  75. </Path>
  76. <TextBlock
  77. x:Name="LinkPageText"
  78. Width="36"
  79. FontFamily="Segoe UI"
  80. FontSize="12"
  81. LineHeight="16"
  82. TextAlignment="Center"
  83. TextWrapping="Wrap" />
  84. </StackPanel>
  85. </RadioButton>
  86. <RadioButton
  87. Name="BtnLinkWeb"
  88. Width="75"
  89. Height="28"
  90. VerticalContentAlignment="Center"
  91. Background="Transparent"
  92. Command="{Binding ToggleButtonTabCommand}"
  93. CommandParameter="{Binding ElementName=BtnLinkWeb}"
  94. GroupName="LinkTab"
  95. IsChecked="{Binding BtnLinkWebIsChecked}"
  96. Style="{StaticResource PageViewRadioBtn}"
  97. Tag="Web"
  98. Visibility="Collapsed">
  99. <StackPanel>
  100. <Path
  101. Margin="8,8,8,8"
  102. HorizontalAlignment="Center"
  103. Fill="#252629">
  104. <Path.Data>
  105. M8.66618 14.4663C8.44716 14.4886 8.22491 14.5 8 14.5C7.85803
  106. 14.5 7.71712 14.4954 7.57741 14.4865C7.10001 13.5646 6.74754
  107. 12.6476 6.49725 11.75H9.73591C9.48745 12.6411 9.13829 13.5512 8.66618
  108. 14.4663ZM10.5459 13.9825C11.6619 13.507 12.6176 12.7283 13.3098
  109. 11.75H11.2887C11.1051 12.4836 10.8609 13.2299 10.5459 13.9825ZM11.5858
  110. 10.25H14.1C14.3587 9.5489 14.5 8.79095 14.5 8C14.5 7.20905 14.3587 6.4511
  111. 14.1 5.75H11.5922C11.7855 7.11458 11.8224 8.63886 11.5858 10.25ZM10.0763
  112. 5.75H6.15683C5.94754 7.09263 5.90154 8.62363 6.16683 10.25H10.0663C10.3316
  113. 8.62363 10.2856 7.09263 10.0763 5.75ZM9.76021 4.25H6.47294C6.78297 3.09108
  114. 7.1942 2.14973 7.56609 1.51425C7.7095 1.5048 7.85419 1.5 8 1.5C8.22937 1.5
  115. 8.45596 1.51188 8.67919 1.53506C9.04787 2.17019 9.45355 3.10366 9.76021
  116. 4.25ZM11.3063 4.25H13.3098C12.6268 3.28462 11.6871 2.5137 10.5902
  117. 2.03658C10.8556 2.67393 11.1063 3.4192 11.3063 4.25ZM4.94441
  118. 11.75C5.13712 12.5199 5.39657 13.3038 5.73452 14.0943C4.49822 13.6345
  119. 3.43967 12.8093 2.69016 11.75H4.94441ZM4.64733 10.25C4.41071 8.63886
  120. 4.44762 7.11458 4.64092 5.75H1.89996C1.64127 6.4511 1.5 7.20905 1.5 8C1.5 8.79095 1.64127 9.5489
  121. 1.89996 10.25H4.64733ZM4.92683 4.25C5.13895 3.36886 5.40812 2.58393 5.69137 1.92192C4.47359 2.38472
  122. 3.43094 3.203 2.69016 4.25H4.92683ZM16 8C16 12.4183 12.4183 16 8 16C3.58172 16 0 12.4183 0 8C0
  123. 3.58172 3.58172 0 8 0C12.4183 0 16 3.58172 16 8Z
  124. </Path.Data>
  125. </Path>
  126. </StackPanel>
  127. </RadioButton>
  128. <RadioButton
  129. Name="BtnLinkMail"
  130. Width="75"
  131. Height="28"
  132. VerticalContentAlignment="Center"
  133. Background="Transparent"
  134. Command="{Binding ToggleButtonTabCommand}"
  135. CommandParameter="{Binding ElementName=BtnLinkMail}"
  136. GroupName="LinkTab"
  137. IsChecked="{Binding BtnLinkMailIsChecked}"
  138. Style="{StaticResource PageViewRadioBtn}"
  139. Tag="Mail"
  140. Visibility="Collapsed">
  141. <StackPanel>
  142. <Path
  143. Margin="8,8,8,8"
  144. HorizontalAlignment="Center"
  145. Fill="#252629">
  146. <Path.Data>
  147. M1.5 2.27882V10.5H14.5V2.27882L8.43593 6.6103C8.17516 6.79657
  148. 7.82484 6.79657 7.56407 6.6103L1.5 2.27882ZM13.0097
  149. 1.5H2.99035L8 5.07832L13.0097 1.5ZM0 1C0 0.447715
  150. 0.447715 0 1 0H15C15.5523 0 16 0.447715 16 1V11C16 11.5523 15.5523 12 15 12H1C0.447715 12 0 11.5523 0 11V1Z
  151. </Path.Data>
  152. </Path>
  153. </StackPanel>
  154. </RadioButton>
  155. </StackPanel>
  156. <!--<Line
  157. Width="232"
  158. Margin="0,4,0,0"
  159. HorizontalAlignment="Center"
  160. Stroke="#1A000000"
  161. StrokeThickness="1"
  162. X1="0"
  163. X2="232"
  164. Y1="0"
  165. Y2="0" />-->
  166. <Grid MinWidth="260">
  167. <!--<StackPanel Name="LinkPagePanel" Visibility="{Binding ElementName=BtnLinkPage, Path=IsChecked, Converter={StaticResource BoolToVisible}, Mode=OneWay}">-->
  168. <StackPanel Name="LinkPagePanel">
  169. <TextBlock
  170. x:Name="TxtPage"
  171. Height="20"
  172. Margin="16,0,0,4"
  173. FontFamily="Segoe UI"
  174. FontSize="12"
  175. FontWeight="Bold"
  176. Foreground="{StaticResource color.sys.text.neutral.lv2}"
  177. LineHeight="20"
  178. Text="{Binding T_Page}" />
  179. <StackPanel Orientation="Horizontal">
  180. <CustomControl:TextBoxWithTip
  181. x:Name="PageNumText"
  182. Width="228"
  183. Margin="16,0"
  184. VerticalContentAlignment="Center"
  185. IsEnabled="{Binding PageNumTextIsEnabled, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  186. IsError="{Binding ElementName=PageNumText, Path=ShowTip, Converter={StaticResource VisibleToBoolConvert}, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  187. PlaceHoldText="{Binding PageNumPlaceHoldText, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  188. ShowTip="{Binding ShowPageNumTip, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  189. Text="{Binding PageNumTextContent, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  190. TipText="{Binding PageNumTipText, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}">
  191. <i:Interaction.Triggers>
  192. <i:EventTrigger EventName="LostFocus">
  193. <i:InvokeCommandAction Command="{Binding PageNumTextLostFocusCommand}" PassEventArgsToCommand="True" />
  194. </i:EventTrigger>
  195. <i:EventTrigger EventName="KeyDown">
  196. <i:InvokeCommandAction Command="{Binding PageNumTextKeyDownCommand}" PassEventArgsToCommand="True" />
  197. </i:EventTrigger>
  198. </i:Interaction.Triggers>
  199. </CustomControl:TextBoxWithTip>
  200. </StackPanel>
  201. <ToggleButton
  202. Name="BtnLocation"
  203. Width="228"
  204. Height="32"
  205. Margin="16,30,16,0"
  206. Background="Transparent"
  207. BorderBrush="Transparent"
  208. BorderThickness="0"
  209. Command="{Binding LocationCommand}"
  210. IsChecked="{Binding BtnLocationIsChecked}"
  211. IsEnabled="{Binding BtnLocationIsEnabled, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  212. Style="{StaticResource LinkToolbarTgb}">
  213. <ToggleButton.Content>
  214. <StackPanel Orientation="Horizontal">
  215. <Path
  216. Name="PathLocation"
  217. HorizontalAlignment="Left"
  218. VerticalAlignment="Center"
  219. Data="M15.064 6.88052L13.5661 6.49468L9.57748 11.6857L10.2156 13.8898C10.3593 14.3863 9.74722 14.7479 9.38174 14.3824L6.59721 11.5979L0.0145727 15.9711L4.38786 9.38851L1.60356 6.60421C1.23807 6.23873 1.59967 5.62665 2.09615 5.77038L4.30107 6.40871L9.49166 2.42039L9.10576 0.92227C8.97879 0.42937 9.58359 0.0840825 9.9435 0.443993L15.5423 6.04277C15.9022 6.40268 15.5569 7.00748 15.064 6.88052Z"
  220. Fill=" #616469" />
  221. <TextBlock Margin="10,0" Text="定位目标区域" />
  222. </StackPanel>
  223. </ToggleButton.Content>
  224. </ToggleButton>
  225. <Image
  226. Name="ImagePreview"
  227. Width="{Binding ImagePreviewWidth}"
  228. Height="{Binding ImagePreviewHeight}"
  229. Margin="32"
  230. Source="{Binding PreviewImage}"
  231. Visibility="{Binding ImagePreviewVisibility}" />
  232. </StackPanel>
  233. <StackPanel Name="LinkWebPanel" Visibility="{Binding ElementName=BtnLinkWeb, Path=IsChecked, Converter={StaticResource BoolToVisible}, Mode=OneWay}">
  234. <TextBlock
  235. Height="20"
  236. Margin="16,12,0,4"
  237. FontFamily="Segoe UI"
  238. FontSize="12"
  239. Foreground="#616469"
  240. LineHeight="20"
  241. Text="URL" />
  242. <StackPanel Orientation="Horizontal">
  243. <CustomControl:TextBoxWithTip
  244. x:Name="PageWebText"
  245. Width="228"
  246. Margin="16,0"
  247. VerticalContentAlignment="Center"
  248. IsEnabled="{Binding PageWebTextIsEnabled, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  249. IsError="{Binding ElementName=PageWebText, Path=ShowTip, Converter={StaticResource VisibleToBoolConvert}, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  250. PlaceHoldText="{Binding PageWebPlaceHoldText, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  251. ShowTip="{Binding ShowPageWebTip, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  252. Text="{Binding PageWebTextContent, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  253. TipText="{Binding PageWebTipText, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}">
  254. <i:Interaction.Triggers>
  255. <i:EventTrigger EventName="LostFocus">
  256. <i:InvokeCommandAction Command="{Binding PageWebTextLostFocusCommand}" PassEventArgsToCommand="True" />
  257. </i:EventTrigger>
  258. <i:EventTrigger EventName="KeyDown">
  259. <i:InvokeCommandAction Command="{Binding PageWebTextKeyDownCommand}" PassEventArgsToCommand="True" />
  260. </i:EventTrigger>
  261. </i:Interaction.Triggers>
  262. </CustomControl:TextBoxWithTip>
  263. </StackPanel>
  264. </StackPanel>
  265. <StackPanel Name="LinkMailPanel" Visibility="{Binding ElementName=BtnLinkMail, Path=IsChecked, Converter={StaticResource BoolToVisible}, Mode=OneWay}">
  266. <TextBlock
  267. Height="20"
  268. Margin="16,12,0,4"
  269. FontFamily="Segoe UI"
  270. FontSize="12"
  271. Foreground="#616469"
  272. LineHeight="20"
  273. Text="Email" />
  274. <StackPanel Orientation="Horizontal">
  275. <CustomControl:TextBoxWithTip
  276. x:Name="PageMailText"
  277. Width="228"
  278. Margin="16,0"
  279. VerticalContentAlignment="Center"
  280. IsEnabled="{Binding PageMailTextIsEnabled, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  281. IsError="{Binding ElementName=PageMailText, Path=ShowTip, Converter={StaticResource VisibleToBoolConvert}, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  282. PlaceHoldText="{Binding PageMailPlaceHoldText, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  283. ShowTip="{Binding ShowPageMailTip, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  284. Text="{Binding PageMailTextContent, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  285. TipText="{Binding PageMailTipText, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}">
  286. <i:Interaction.Triggers>
  287. <i:EventTrigger EventName="LostFocus">
  288. <i:InvokeCommandAction Command="{Binding PageMailTextLostFocusCommand}" PassEventArgsToCommand="True" />
  289. </i:EventTrigger>
  290. <i:EventTrigger EventName="KeyDown">
  291. <i:InvokeCommandAction Command="{Binding PageMailTextKeyDownCommand}" PassEventArgsToCommand="True" />
  292. </i:EventTrigger>
  293. </i:Interaction.Triggers>
  294. </CustomControl:TextBoxWithTip>
  295. </StackPanel>
  296. </StackPanel>
  297. </Grid>
  298. <Button
  299. x:Name="BtnGOorBack"
  300. Background="Transparent"
  301. BorderThickness="0"
  302. Command="{Binding BtnGOorBackPageCommand}"
  303. Content="{Binding BtnGOorBackContent}"
  304. FontSize="16"
  305. Style="{StaticResource btn.link}"
  306. Tag="GO"
  307. Visibility="{Binding BtnGOorBackVisibility}">
  308. <Button.CommandParameter>
  309. <MultiBinding Converter="{StaticResource ResourceKey=ObjectConvert}" Mode="TwoWay">
  310. <MultiBinding.Bindings>
  311. <Binding ElementName="BtnGOorBack" />
  312. <Binding ElementName="BtnLinkPage" />
  313. <Binding ElementName="BtnLinkWeb" />
  314. <Binding ElementName="BtnLinkMail" />
  315. </MultiBinding.Bindings>
  316. </MultiBinding>
  317. </Button.CommandParameter>
  318. </Button>
  319. </StackPanel>
  320. </Grid>
  321. <!--<i:Interaction.Triggers>
  322. <i:EventTrigger EventName="Loaded">
  323. <helper:AdvancedInvokeCommandAction
  324. Command="{Binding LoadedCommand}"
  325. CommandParameter="{Binding ElementName=LinkAnnotPropertyContent}"
  326. PassEventArgsToCommand="True" />
  327. </i:EventTrigger>
  328. </i:Interaction.Triggers>-->
  329. </UserControl>