LinkAnnotProperty.xaml 19 KB

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