ScreenAnnotationDialog.xaml 36 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587
  1. <UserControl
  2. x:Class="PDF_Master.Views.Dialog.BOTA.ScreenAnnotationDialog"
  3. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  4. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  5. xmlns:DataConvert="clr-namespace:PDF_Master.DataConvert"
  6. xmlns:customControl="clr-namespace:PDF_Master.CustomControl"
  7. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  8. xmlns:dialogBOTA="clr-namespace:PDF_Master.ViewModels.Dialog.BOTA"
  9. xmlns:helper="clr-namespace:PDF_Master.Helper"
  10. xmlns:i="http://schemas.microsoft.com/xaml/behaviors"
  11. xmlns:local="clr-namespace:PDF_Master.Views.Dialog.BOTA"
  12. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  13. xmlns:prism="http://prismlibrary.com/"
  14. Width="380"
  15. MinHeight="400"
  16. d:DataContext="{d:DesignInstance Type=dialogBOTA:ScreenAnnotationDialogViewModel}"
  17. prism:Dialog.WindowStyle="{StaticResource DialogWindowStyle}"
  18. prism:ViewModelLocator.AutoWireViewModel="True"
  19. mc:Ignorable="d" Loaded="UserControl_Loaded">
  20. <UserControl.Resources>
  21. <ResourceDictionary>
  22. <ResourceDictionary.MergedDictionaries>
  23. <ResourceDictionary Source="pack://application:,,,/Styles/ListViewStyle.xaml" />
  24. <ResourceDictionary Source="pack://application:,,,/Styles/CustomBtnStyle.xaml" />
  25. </ResourceDictionary.MergedDictionaries>
  26. <DataConvert:ObjectConvert x:Key="ObjectConvert" />
  27. <SolidColorBrush x:Key="path.fill" Color="#273C62" />
  28. <DataTemplate x:Key="ListColorData">
  29. <Border
  30. Width="20"
  31. Height="20"
  32. Margin="6">
  33. <Ellipse
  34. Name="EllipseColor"
  35. Width="20"
  36. Height="20"
  37. Fill="{Binding Color}"
  38. Stroke="{StaticResource color.sys.layout.divider}"
  39. StrokeThickness="1" />
  40. </Border>
  41. </DataTemplate>
  42. <DataTemplate x:Key="ListAuthorData">
  43. <TextBlock
  44. Name="TxbAuthor"
  45. Margin="6,0"
  46. HorizontalAlignment="Center"
  47. VerticalAlignment="Center"
  48. FontSize="12"
  49. Text="{Binding Name}" />
  50. </DataTemplate>
  51. <Style x:Key="ListColorItemStyle" TargetType="{x:Type ListBoxItem}">
  52. <Setter Property="HorizontalAlignment" Value="Center" />
  53. <Setter Property="Height" Value="40" />
  54. <Setter Property="Width" Value="40" />
  55. <Setter Property="Margin" Value="4" />
  56. <!--<EventSetter Event="PreviewMouseRightButtonDown" Handler="listboxItem_PreviewMouseRightButtonDown" />-->
  57. <Setter Property="Template">
  58. <Setter.Value>
  59. <ControlTemplate TargetType="{x:Type ContentControl}">
  60. <Border
  61. x:Name="border"
  62. Width="40"
  63. Height="40"
  64. HorizontalAlignment="Center"
  65. Background="{TemplateBinding Background}"
  66. CornerRadius="4">
  67. <ContentPresenter />
  68. </Border>
  69. </ControlTemplate>
  70. </Setter.Value>
  71. </Setter>
  72. <Style.Triggers>
  73. <Trigger Property="IsMouseOver" Value="True">
  74. <Setter Property="Background" Value="#e2e3e5" />
  75. </Trigger>
  76. <Trigger Property="IsMouseOver" Value="False">
  77. <Setter Property="Background" Value="Transparent" />
  78. </Trigger>
  79. <Trigger Property="IsSelected" Value="True">
  80. <Setter Property="Background" Value="#e2e3e5" />
  81. </Trigger>
  82. </Style.Triggers>
  83. </Style>
  84. <Style x:Key="ListboxItemStyle1" TargetType="{x:Type ListBoxItem}">
  85. <Setter Property="HorizontalAlignment" Value="Center" />
  86. <Setter Property="Height" Value="40" />
  87. <Setter Property="Margin" Value="4" />
  88. <!--<EventSetter Event="PreviewMouseRightButtonDown" Handler="listboxItem_PreviewMouseRightButtonDown" />-->
  89. <Setter Property="Template">
  90. <Setter.Value>
  91. <ControlTemplate TargetType="{x:Type ContentControl}">
  92. <Border
  93. x:Name="border"
  94. Height="40"
  95. HorizontalAlignment="Center"
  96. VerticalAlignment="Center"
  97. Background="{TemplateBinding Background}"
  98. CornerRadius="4">
  99. <ContentPresenter />
  100. </Border>
  101. </ControlTemplate>
  102. </Setter.Value>
  103. </Setter>
  104. <Style.Triggers>
  105. <Trigger Property="IsMouseOver" Value="True">
  106. <Setter Property="Background" Value="#e2e3e5" />
  107. </Trigger>
  108. <Trigger Property="IsMouseOver" Value="False">
  109. <Setter Property="Background" Value="Transparent" />
  110. </Trigger>
  111. <Trigger Property="IsSelected" Value="True">
  112. <Setter Property="Background" Value="#e2e3e5" />
  113. </Trigger>
  114. </Style.Triggers>
  115. </Style>
  116. <Style x:Key="FocusVisual">
  117. <Setter Property="Control.Template">
  118. <Setter.Value>
  119. <ControlTemplate>
  120. <Rectangle
  121. Margin="2"
  122. SnapsToDevicePixels="true"
  123. Stroke="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}"
  124. StrokeDashArray="1 2"
  125. StrokeThickness="1" />
  126. </ControlTemplate>
  127. </Setter.Value>
  128. </Setter>
  129. </Style>
  130. <SolidColorBrush x:Key="Button.Static.Background" Color="Transparent" />
  131. <SolidColorBrush x:Key="Button.Static.Border" Color="Transparent" />
  132. <SolidColorBrush x:Key="Button.MouseOver.Background" Color="Transparent" />
  133. <SolidColorBrush x:Key="Button.MouseOver.Border" Color="Transparent" />
  134. <SolidColorBrush x:Key="Button.Pressed.Background" Color="Transparent" />
  135. <SolidColorBrush x:Key="Button.Pressed.Border" Color="Transparent" />
  136. <SolidColorBrush x:Key="Button.Disabled.Background" Color="Transparent" />
  137. <SolidColorBrush x:Key="Button.Disabled.Border" Color="Transparent" />
  138. <SolidColorBrush x:Key="Button.Disabled.Foreground" Color="Transparent" />
  139. <Style x:Key="ButtonStyle1" TargetType="{x:Type Button}">
  140. <Setter Property="FocusVisualStyle" Value="{StaticResource FocusVisual}" />
  141. <Setter Property="Background" Value="{StaticResource Button.Static.Background}" />
  142. <Setter Property="BorderBrush" Value="{StaticResource Button.Static.Border}" />
  143. <Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}" />
  144. <Setter Property="BorderThickness" Value="1" />
  145. <Setter Property="HorizontalContentAlignment" Value="Center" />
  146. <Setter Property="VerticalContentAlignment" Value="Center" />
  147. <Setter Property="Padding" Value="1" />
  148. <Setter Property="Template">
  149. <Setter.Value>
  150. <ControlTemplate TargetType="{x:Type Button}">
  151. <Border
  152. x:Name="border"
  153. Background="{TemplateBinding Background}"
  154. BorderBrush="{TemplateBinding BorderBrush}"
  155. BorderThickness="{TemplateBinding BorderThickness}"
  156. SnapsToDevicePixels="true">
  157. <ContentPresenter
  158. x:Name="contentPresenter"
  159. Margin="{TemplateBinding Padding}"
  160. HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
  161. VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
  162. Focusable="False"
  163. RecognizesAccessKey="True"
  164. SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
  165. </Border>
  166. <ControlTemplate.Triggers>
  167. <Trigger Property="IsDefaulted" Value="true">
  168. <Setter TargetName="border" Property="BorderBrush" Value="{DynamicResource {x:Static SystemColors.HighlightBrushKey}}" />
  169. </Trigger>
  170. <Trigger Property="IsMouseOver" Value="true">
  171. <Setter TargetName="border" Property="Background" Value="{StaticResource Button.MouseOver.Background}" />
  172. <Setter TargetName="border" Property="BorderBrush" Value="{StaticResource Button.MouseOver.Border}" />
  173. </Trigger>
  174. <Trigger Property="IsPressed" Value="true">
  175. <Setter TargetName="border" Property="Background" Value="{StaticResource Button.Pressed.Background}" />
  176. <Setter TargetName="border" Property="BorderBrush" Value="{StaticResource Button.Pressed.Border}" />
  177. </Trigger>
  178. <Trigger Property="IsEnabled" Value="false">
  179. <Setter TargetName="border" Property="Background" Value="{StaticResource Button.Disabled.Background}" />
  180. <Setter TargetName="border" Property="BorderBrush" Value="{StaticResource Button.Disabled.Border}" />
  181. <Setter TargetName="contentPresenter" Property="TextElement.Foreground" Value="{StaticResource Button.Disabled.Foreground}" />
  182. </Trigger>
  183. </ControlTemplate.Triggers>
  184. </ControlTemplate>
  185. </Setter.Value>
  186. </Setter>
  187. </Style>
  188. </ResourceDictionary>
  189. </UserControl.Resources>
  190. <customControl:DialogContent Header="{Binding Title}">
  191. <customControl:DialogContent.Content>
  192. <Grid>
  193. <Grid.RowDefinitions>
  194. <RowDefinition Height="30" />
  195. <RowDefinition MinHeight="50" />
  196. <RowDefinition Height="30" />
  197. <RowDefinition MinHeight="50" />
  198. <RowDefinition Height="30" />
  199. <RowDefinition />
  200. </Grid.RowDefinitions>
  201. <TextBlock
  202. Grid.Row="0"
  203. Margin="20,0"
  204. FontSize="14"
  205. FontWeight="Bold"
  206. Text="{Binding T_Style}" />
  207. <TextBlock
  208. Grid.Row="2"
  209. Margin="20,0"
  210. FontSize="14"
  211. FontWeight="Bold"
  212. Text="{Binding T_Color}" />
  213. <TextBlock
  214. Grid.Row="4"
  215. Margin="20,0"
  216. FontSize="14"
  217. FontWeight="Bold"
  218. Text="{Binding T_Author}" />
  219. <WrapPanel
  220. Name="WrapPanelIco"
  221. Grid.Row="1"
  222. Margin="15,0">
  223. <!-- 高亮字体 -->
  224. <customControl:CustomIconToggleBtn
  225. x:Name="BtnHighlight"
  226. HorizontalAlignment="Left"
  227. VerticalAlignment="Top"
  228. Style="{StaticResource ToggleBtnScreenAnnotationStyle}"
  229. Tag="Highlight"
  230. Visibility="{Binding HighlightVisibility}">
  231. <Grid>
  232. <Path
  233. Name="PathHighlight"
  234. VerticalAlignment="Bottom"
  235. Data="M2.5 2H15.5C15.7761 2 16 2.22386 16 2.5V15.5C16 15.7761 15.7761 16 15.5 16H2.5C2.22386 16 2 15.7761 2 15.5V2.5C2 2.22386 2.22386 2 2.5 2ZM0 2.5C0 1.11929 1.11929 0 2.5 0H15.5C16.8807 0 18 1.11929 18 2.5V15.5C18 16.8807 16.8807 18 15.5 18H2.5C1.11929 18 0 16.8807 0 15.5V2.5ZM7.1015 12.75H4.84564L7.68744 4.29492H10.3183L13.1601 12.75H10.9042L10.3828 10.8926H7.62299L7.1015 12.75ZM9.05853 6.15821H8.9472L8.05658 9.34571H9.94916L9.05853 6.15821Z"
  236. Fill="{StaticResource path.fill}" />
  237. </Grid>
  238. </customControl:CustomIconToggleBtn>
  239. <!-- 手绘 -->
  240. <customControl:CustomIconToggleBtn
  241. x:Name="BtnFreeHand"
  242. HorizontalAlignment="Left"
  243. VerticalAlignment="Top"
  244. Style="{StaticResource ToggleBtnScreenAnnotationStyle}"
  245. Tag="FreeHand"
  246. Visibility="{Binding FreeHandVisibility}">
  247. <Grid>
  248. <Image
  249. Width="18"
  250. Height="18"
  251. Source="pack://application:,,,/Resources/BOTA/Annotation/FreeHande.png"
  252. Stretch="UniformToFill" />
  253. <Path
  254. x:Name="PathFreehand"
  255. VerticalAlignment="Bottom"
  256. Data="M2.57674716,4.1756938 L2,2.77872077 L3.23629157,2.32666213 L4.39858152,1.91423694 L5.48803594,1.54159101 L6.17445055,1.31533198 L6.8293576,1.10686063 L7.4531026,0.916220157 L8.04603105,0.743453759 L8.60848847,0.58860464 L9.14082038,0.451716002 L9.64337227,0.332831046 C9.72466845,0.314519594 9.80473819,0.296960095 9.88358869,0.280153449 L10.3421184,0.188355018 L10.7717319,0.114668273 C12.0867553,-0.0899506488 12.9720275,-0.0214898126 13.4769206,0.326224086 C13.7931843,0.544031104 14.0243062,0.794201523 14.1654835,1.08081708 C14.4150998,1.58758343 14.372095,1.98890858 14.1388295,2.56637317 L14.0118481,2.8607497 L14.1178229,2.85487846 C14.3317937,2.83763034 14.6024395,2.79427307 14.9260381,2.72394503 L15.1265218,2.67850482 L15.3515733,2.6235355 L15.8394138,2.49284637 C15.9249062,2.46876007 16.0124891,2.44352166 16.1021588,2.41713154 L16.665189,2.24497377 L17.2781263,2.04519508 L17.9407955,1.81781534 L18.653021,1.56285442 L19.4146274,1.28033219 L20,2.67408238 L18.9461796,3.06389046 L18.2946269,3.29587476 L17.6827717,3.50537002 L17.1096728,3.69222298 C16.9249947,3.75071655 16.7466192,3.80541085 16.5743893,3.85628035 L16.07598,3.99738887 C15.9158848,4.0405832 15.7617783,4.07992718 15.6135039,4.11539526 L15.1860199,4.21014624 C14.0234985,4.44551743 13.271008,4.39900906 12.8322254,4.05493276 C12.4563321,3.76017178 12.3000774,3.35823485 12.3526752,2.92564423 C12.3673344,2.80507968 12.3854738,2.71608905 12.4219387,2.60716366 L12.4922357,2.42238589 L12.6817642,1.97507903 L12.7254854,1.84483042 C12.7439032,1.77588453 12.7424284,1.73934924 12.7304594,1.71505002 C12.7102358,1.67399262 12.6563117,1.61562419 12.5457193,1.53946054 C12.4359989,1.46389742 12.2053386,1.43735078 11.8597168,1.46056818 L11.6123366,1.4834271 C11.5682899,1.48846839 11.5228403,1.49412611 11.4759961,1.50040128 L11.1782601,1.54546983 L10.8474456,1.60540634 L10.4839463,1.68026003 L10.0881558,1.77008011 C10.0195217,1.78630005 9.9495585,1.80314565 9.87827444,1.82061792 L9.43478535,1.93297989 L8.95998926,2.0604313 L8.4542798,2.20302138 L7.6386142,2.44539918 L6.75560787,2.72211586 L5.8065894,3.03333754 L4.7928874,3.37923034 L4.08180686,3.62916931 L3.34296223,3.89464073 L2.57674716,4.1756938 Z"
  257. Fill="{StaticResource path.fill}" />
  258. <!--<Path
  259. Name="PathFreehand1"
  260. Data="M14.4314 1.33367L17.525 4.42726C17.6226 4.52489 17.6226 4.68318 17.525 4.78081L6.09239 16.2134C6.05159 16.2542 5.99795 16.2797 5.94054 16.2854L2.50234 16.63C2.34512 16.6458 2.21289 16.5136 2.22865 16.3563L2.57326 12.9181C2.57902 12.8607 2.60445 12.8071 2.64524 12.7663L14.0779 1.33367C14.1755 1.23603 14.3338 1.23604 14.4314 1.33367Z"
  261. Fill="#273C62" />
  262. <Path
  263. Name="PathFreehand"
  264. Data="M10.5429 5.70712L13.4892 8.6534L14.9034 7.23919L11.9571 4.29291L10.5429 5.70712ZM10.795 18.69C11.1451 18.2313 11.8261 17.4576 12.6161 16.8098C13.3245 16.2288 13.9749 15.8707 14.4784 15.7756C14.4967 15.814 14.5166 15.858 14.5393 15.9092C14.5507 15.9348 14.563 15.963 14.5763 15.9935C14.6508 16.1639 14.755 16.4026 14.879 16.6183C15.0301 16.8812 15.2623 17.2081 15.6318 17.4462C16.2538 17.847 16.9274 17.9915 17.6045 17.8033C18.2245 17.6311 18.7055 17.2165 19.0713 16.8166L17.5954 15.4668C17.3282 15.759 17.157 15.8519 17.069 15.8764C17.0357 15.8856 17.0068 15.8876 16.968 15.8803C16.9246 15.8721 16.8423 15.8468 16.7165 15.7659C16.7165 15.7659 16.7164 15.7658 16.7162 15.7657C16.7124 15.7623 16.6757 15.7307 16.613 15.6216C16.5484 15.5093 16.4957 15.3894 16.421 15.2194L16.3677 15.0985C16.2826 14.9067 16.1448 14.5984 15.9355 14.3421C15.6958 14.0487 15.3006 13.75 14.7335 13.75C13.462 13.75 12.2363 14.5347 11.3479 15.2632C10.4145 16.0286 9.62868 16.9216 9.20508 17.4767L10.795 18.69Z"
  265. Fill="#94989C" />-->
  266. </Grid>
  267. </customControl:CustomIconToggleBtn>
  268. <!-- 波浪线 -->
  269. <Grid
  270. Name="AnnotSquiggly"
  271. Height="20"
  272. Visibility="Collapsed">
  273. <Image
  274. Width="18"
  275. Height="18"
  276. Source="pack://application:,,,/Resources/BOTA/Annotation/Highlight.png"
  277. Stretch="UniformToFill" />
  278. <Path
  279. Name="AnnotSquigglycolor"
  280. VerticalAlignment="Bottom"
  281. Data="M0,1.5 L1.12734157,0.82359506 C1.95251203,0.32849278 2.99856537,0.398852295 3.75,1 C4.48079387,1.5846351 5.51920613,1.5846351 6.25,1 C6.98079387,0.415364901 8.01920613,0.415364901 8.75,1 C9.48079387,1.5846351 10.5192061,1.5846351 11.25,1 C11.9807939,0.415364901 13.0192061,0.415364901 13.75,1 C14.4807939,1.5846351 15.5192061,1.5846351 16.25,1 C17.0014346,0.398852295 18.047488,0.32849278 18.8726584,0.82359506 L20,1.5 L20,1.5 L20,3 L18.8726584,2.32359506 C18.047488,1.82849278 17.0014346,1.89885229 16.25,2.5 C15.5192061,3.0846351 14.4807939,3.0846351 13.75,2.5 C13.0192061,1.9153649 11.9807939,1.9153649 11.25,2.5 C10.5192061,3.0846351 9.48079387,3.0846351 8.75,2.5 C8.01920613,1.9153649 6.98079387,1.9153649 6.25,2.5 C5.51920613,3.0846351 4.48079387,3.0846351 3.75,2.5 C2.99856537,1.89885229 1.95251203,1.82849278 1.12734157,2.32359506 L0,3 L0,3 L0,1.5 Z"
  282. Fill="Black" />
  283. </Grid>
  284. <!-- 便签 -->
  285. <customControl:CustomIconToggleBtn
  286. x:Name="BtnAnnotSticky"
  287. HorizontalAlignment="Left"
  288. VerticalAlignment="Top"
  289. Style="{StaticResource ToggleBtnScreenAnnotationStyle}"
  290. Tag="AnnotSticky"
  291. Visibility="{Binding AnnotStickyVisibility}">
  292. <Path
  293. Name="PathSticky"
  294. Width="18"
  295. Height="18"
  296. Data="M18,3 L18,15 L10,15 L5,18 L5,15 L2,15 L2,3 L18,3 Z M15,9.5 L5,9.5 L5,11 L15,11 L15,9.5 Z M11,6 L5,6 L5,7.5 L11,7.5 L11,6 Z"
  297. Fill="{StaticResource path.fill}" />
  298. </customControl:CustomIconToggleBtn>
  299. <!-- 图章 -->
  300. <customControl:CustomIconToggleBtn
  301. x:Name="BtnAnnotStamp"
  302. HorizontalAlignment="Left"
  303. VerticalAlignment="Top"
  304. Style="{StaticResource ToggleBtnScreenAnnotationStyle}"
  305. Tag="AnnotStamp"
  306. Visibility="{Binding AnnotStampVisibility}">
  307. <Path
  308. Name="PathStamp"
  309. Width="18"
  310. Height="18"
  311. Data="M14.4,12.8 L14.4,14 L1.6,14 L1.6,12.8 L14.4,12.8 Z M14.4,10 L14.4,11.2 L1.6,11.2 L1.6,10 L14.4,10 Z M8,2 C9.7673112,2 11.2,3.4326888 11.2,5.2 C11.2,6.3887762 10.5517747,7.42615125 9.58951117,7.97793796 L9.6,7.96 C9.33333333,8.32 9.2,8.66666667 9.2,9 C9.2,9.33333333 9.33333333,9.66666667 9.6,10 L6.4,10 C6.66666667,9.66666667 6.8,9.33333333 6.8,9 C6.8,8.67223253 6.67108218,8.33157328 6.41324655,7.97802224 C5.44867449,7.42686988 4.8,6.38918796 4.8,5.2 C4.8,3.4326888 6.2326888,2 8,2 Z"
  312. Fill="{StaticResource path.fill}" />
  313. </customControl:CustomIconToggleBtn>
  314. <!-- 线 -->
  315. <customControl:CustomIconToggleBtn
  316. x:Name="BtnSharpLine"
  317. HorizontalAlignment="Left"
  318. VerticalAlignment="Top"
  319. Style="{StaticResource ToggleBtnScreenAnnotationStyle}"
  320. Tag="SharpLine"
  321. Visibility="{Binding SharpLineVisibility}">
  322. <Path
  323. x:Name="PathSharpLine"
  324. Width="20"
  325. Height="20"
  326. Fill="{StaticResource path.fill}">
  327. <Path.Data>
  328. M17.7072 1.70718L1.70718 17.7072L0.292969 16.293L16.293 0.292969L17.7072 1.70718Z
  329. </Path.Data>
  330. </Path>
  331. </customControl:CustomIconToggleBtn>
  332. <!-- 箭头 -->
  333. <customControl:CustomIconToggleBtn
  334. x:Name="BtnSharpArrow"
  335. HorizontalAlignment="Left"
  336. VerticalAlignment="Top"
  337. Style="{StaticResource ToggleBtnScreenAnnotationStyle}"
  338. Tag="SharpArrow"
  339. Visibility="{Binding SharpArrowVisibility}">
  340. <Path
  341. x:Name="PathArrow"
  342. Width="20"
  343. Height="20"
  344. Fill="{StaticResource path.fill}">
  345. <Path.Data>
  346. M13.5859 2H9.00008V0H16.0001H17.0001V1V8H15.0001V3.41421L1.70718 16.7071L0.292969 15.2929L13.5859 2Z
  347. </Path.Data>
  348. </Path>
  349. </customControl:CustomIconToggleBtn>
  350. <!-- 圆 -->
  351. <customControl:CustomIconToggleBtn
  352. x:Name="BtnAnnotCircle"
  353. HorizontalAlignment="Left"
  354. VerticalAlignment="Top"
  355. Style="{StaticResource ToggleBtnScreenAnnotationStyle}"
  356. Tag="AnnotCircle"
  357. Visibility="{Binding AnnotCircleVisibility}">
  358. <Path
  359. x:Name="PathCircle"
  360. Width="20"
  361. Height="20"
  362. Fill="{StaticResource path.fill}">
  363. <Path.Data>
  364. M9 16C12.866 16 16 12.866 16 9C16 5.13401 12.866 2 9 2C5.13401 2 2 5.13401 2 9C2 12.866 5.13401 16 9 16ZM9 18C13.9706 18 18 13.9706 18 9C18 4.02944 13.9706 0 9 0C4.02944 0 0 4.02944 0 9C0 13.9706 4.02944 18 9 18Z
  365. </Path.Data>
  366. </Path>
  367. <!--<Ellipse
  368. x:Name="EllipseCircle"
  369. Width="20"
  370. Height="20"
  371. Stroke="{StaticResource path.fill}"
  372. StrokeThickness="2" />-->
  373. </customControl:CustomIconToggleBtn>
  374. <!-- 形状-矩形 -->
  375. <customControl:CustomIconToggleBtn
  376. x:Name="BtnAnnotSquare"
  377. HorizontalAlignment="Left"
  378. VerticalAlignment="Top"
  379. Style="{StaticResource ToggleBtnScreenAnnotationStyle}"
  380. Tag="AnnotSquare"
  381. Visibility="{Binding AnnotSquareVisibility}">
  382. <!--<Path Name="RectAnnotSquare" Fill="{StaticResource path.fill}" Data="M18.75,3.25 L1.25,3.25 L1.25,16.75 L18.75,16.75 L18.75,3.25 Z M17.25,4.75 L17.25,15.25 L2.75,15.25 L2.75,4.75 L17.25,4.75 Z" />-->
  383. <Rectangle
  384. x:Name="RectAnnotSquare"
  385. Width="20"
  386. Height="18"
  387. HorizontalAlignment="Center"
  388. VerticalAlignment="Center"
  389. Stroke="{StaticResource path.fill}"
  390. StrokeThickness="2" />
  391. </customControl:CustomIconToggleBtn>
  392. <!-- 文本注释 -->
  393. <customControl:CustomIconToggleBtn
  394. x:Name="BtnAnnotFreeText"
  395. HorizontalAlignment="Left"
  396. VerticalAlignment="Top"
  397. Style="{StaticResource ToggleBtnScreenAnnotationStyle}"
  398. Tag="AnnotFreeText"
  399. Visibility="{Binding AnnotFreeTextVisibility}">
  400. <Path
  401. Name="FreeTextPath"
  402. Data="M0 1C0 0.447715 0.447715 0 1 0H7H9H15C15.5523 0 16 0.447715 16 1V5H14V2H9L9 14H11V16H9H7H5V14H7L7 2H2V5H0V1Z"
  403. Fill="{StaticResource path.fill}" />
  404. </customControl:CustomIconToggleBtn>
  405. <!-- 删除线 -->
  406. <customControl:CustomIconToggleBtn
  407. x:Name="BtnAnnotStrikeout"
  408. HorizontalAlignment="Left"
  409. VerticalAlignment="Top"
  410. Style="{StaticResource ToggleBtnScreenAnnotationStyle}"
  411. Tag="AnnotStrikeout"
  412. Visibility="{Binding AnnotStrikeoutVisibility}">
  413. <Grid Width="20" Height="20">
  414. <Path
  415. Name="StrikeoutPath"
  416. Data="M5.23047 18H2.47656L4.46236 12.5H15.5376L17.5234 18H14.7578L13.2344 13.4297H6.76562L5.23047 18ZM14.9359 10.8333L11.418 1.08984H8.58203L5.06411 10.8333H7.63134L9.89453 4.05469H10.0938L12.3679 10.8333H14.9359Z"
  417. Fill="{StaticResource path.fill}" />
  418. <Rectangle
  419. x:Name="PathStrikeoutyColor"
  420. Width="18"
  421. Height="2"
  422. Margin="0,5,0,0"
  423. Fill="#94989C"
  424. Opacity="1" />
  425. </Grid>
  426. </customControl:CustomIconToggleBtn>
  427. <!-- 下划线 -->
  428. <customControl:CustomIconToggleBtn
  429. x:Name="BtnUnderLine"
  430. HorizontalAlignment="Left"
  431. VerticalAlignment="Top"
  432. Style="{StaticResource ToggleBtnScreenAnnotationStyle}"
  433. Tag="Underline"
  434. Visibility="{Binding UnderLineVisibility}">
  435. <Grid Width="20" Height="20">
  436. <Grid.RowDefinitions>
  437. <RowDefinition Height="Auto" />
  438. <RowDefinition />
  439. </Grid.RowDefinitions>
  440. <Path Data="M3.41699 16H5.82666L7.16992 12.001H12.8301L14.1631 16H16.583L11.2407 1.20361H8.75928L3.41699 16ZM9.90771 3.79785H10.082L12.2148 10.1553H7.78516L9.90771 3.79785Z" Fill="{StaticResource path.fill}" />
  441. <Rectangle
  442. Name="RectangleUnderline"
  443. Grid.Row="1"
  444. Width="16"
  445. Height="2"
  446. Margin="0,1,0,0"
  447. Fill="#94989C"
  448. Opacity="1" />
  449. </Grid>
  450. </customControl:CustomIconToggleBtn>
  451. <!-- 链接 -->
  452. <customControl:CustomIconToggleBtn
  453. x:Name="BtnAnnotLink"
  454. HorizontalAlignment="Left"
  455. VerticalAlignment="Top"
  456. Style="{StaticResource ToggleBtnScreenAnnotationStyle}"
  457. Tag="AnnotLink"
  458. Visibility="{Binding AnnotLinkVisible}">
  459. <Grid Width="20" Height="20">
  460. <Path Data="M10.1962 13.7315L7.74126 16.1865C6.65663 17.2712 4.8981 17.2712 3.81347 16.1865C2.72884 15.1019 2.72884 13.3434 3.81347 12.2587L6.26846 9.80376L4.85424 8.38954L2.39926 10.8445C0.53358 12.7102 0.533581 15.7351 2.39926 17.6007C4.26494 19.4664 7.2898 19.4664 9.15547 17.6007L11.6105 15.1458L10.1962 13.7315ZM13.7318 10.196L15.146 11.6102L17.6007 9.15547C19.4664 7.2898 19.4664 4.26494 17.6007 2.39926C15.7351 0.533581 12.7102 0.53358 10.8445 2.39926L8.38978 4.85401L9.80399 6.26822L12.2587 3.81347C13.3434 2.72884 15.1019 2.72884 16.1865 3.81347C17.2712 4.8981 17.2712 6.65663 16.1865 7.74126L13.7318 10.196Z" Fill="#273C62" />
  461. <Path Data="M6.29289 12.2925L12.293 6.29286L13.7071 7.70713L7.70705 13.7067L6.29289 12.2925Z" Fill="#94989C" />
  462. </Grid>
  463. </customControl:CustomIconToggleBtn>
  464. </WrapPanel>
  465. <ListBox
  466. x:Name="ListColor"
  467. Grid.Row="3"
  468. Margin="15,0"
  469. Background="Transparent"
  470. BorderThickness="0"
  471. ItemContainerStyle="{StaticResource ListColorItemStyle}"
  472. ItemTemplate="{StaticResource ListColorData}"
  473. ItemsSource="{Binding AnnotationColors}"
  474. ScrollViewer.HorizontalScrollBarVisibility="Disabled"
  475. ScrollViewer.VerticalScrollBarVisibility="Auto"
  476. SelectionMode="Multiple">
  477. <ListBox.ItemsPanel>
  478. <ItemsPanelTemplate>
  479. <WrapPanel
  480. IsItemsHost="True"
  481. Orientation="Horizontal"
  482. ScrollViewer.CanContentScroll="True" />
  483. </ItemsPanelTemplate>
  484. </ListBox.ItemsPanel>
  485. </ListBox>
  486. <ListBox
  487. x:Name="ListAuthor"
  488. Grid.Row="5"
  489. Margin="15,0"
  490. Background="Transparent"
  491. BorderThickness="0"
  492. ItemContainerStyle="{StaticResource ListboxItemStyle1}"
  493. ItemTemplate="{StaticResource ListAuthorData}"
  494. ItemsSource="{Binding AnnotationAuthor}"
  495. ScrollViewer.HorizontalScrollBarVisibility="Disabled"
  496. ScrollViewer.VerticalScrollBarVisibility="Auto"
  497. SelectionMode="Multiple">
  498. <ListBox.ItemsPanel>
  499. <ItemsPanelTemplate>
  500. <WrapPanel
  501. IsItemsHost="True"
  502. Orientation="Horizontal"
  503. ScrollViewer.CanContentScroll="True" />
  504. </ItemsPanelTemplate>
  505. </ListBox.ItemsPanel>
  506. </ListBox>
  507. </Grid>
  508. </customControl:DialogContent.Content>
  509. <customControl:DialogContent.BottmBar>
  510. <Grid>
  511. <Grid.ColumnDefinitions>
  512. <ColumnDefinition Width="40*" />
  513. <ColumnDefinition Width="60*" />
  514. </Grid.ColumnDefinitions>
  515. <Button
  516. Name="BtnClean"
  517. Width="80"
  518. Height="32"
  519. Margin="25,0,0,0"
  520. HorizontalAlignment="Left"
  521. Command="{Binding CleanCommand}"
  522. Content="{Binding T_Clear}"
  523. FontFamily="Segoe UI"
  524. FontSize="14"
  525. Foreground=" #1770F4"
  526. Style="{StaticResource btn.link}" />
  527. <StackPanel Grid.Column="1" Orientation="Horizontal">
  528. <Button
  529. Width="80"
  530. Height="32"
  531. Margin="20,0,0,0"
  532. HorizontalAlignment="Left"
  533. Command="{Binding OkCommnad}"
  534. Content="{Binding T_Apply}"
  535. FontFamily="Segoe UI"
  536. FontSize="14"
  537. Style="{StaticResource Btn.cta}" />
  538. <Button
  539. Width="80"
  540. Height="32"
  541. Margin="30,0,0,0"
  542. HorizontalAlignment="Right"
  543. Command="{Binding CancelCommand}"
  544. Content="{Binding T_Cancel}"
  545. FontFamily="Segoe UI"
  546. FontSize="14"
  547. Style="{StaticResource btn.sec}" />
  548. </StackPanel>
  549. </Grid>
  550. </customControl:DialogContent.BottmBar>
  551. </customControl:DialogContent>
  552. <i:Interaction.Triggers>
  553. <i:EventTrigger EventName="Loaded">
  554. <helper:AdvancedInvokeCommandAction Command="{Binding LoadedCommand}" PassEventArgsToCommand="True">
  555. <helper:AdvancedInvokeCommandAction.CommandParameter>
  556. <MultiBinding Converter="{StaticResource ResourceKey=ObjectConvert}" Mode="TwoWay">
  557. <MultiBinding.Bindings>
  558. <Binding ElementName="BtnHighlight" />
  559. <Binding ElementName="BtnFreeHand" />
  560. <Binding ElementName="BtnAnnotSticky" />
  561. <Binding ElementName="BtnAnnotStamp" />
  562. <Binding ElementName="BtnSharpLine" />
  563. <Binding ElementName="BtnSharpArrow" />
  564. <Binding ElementName="BtnAnnotCircle" />
  565. <Binding ElementName="BtnAnnotSquare" />
  566. <Binding ElementName="BtnAnnotFreeText" />
  567. <Binding ElementName="BtnAnnotStrikeout" />
  568. <Binding ElementName="BtnUnderLine" />
  569. <Binding ElementName="BtnAnnotLink" />
  570. <Binding ElementName="ListColor" />
  571. <Binding ElementName="ListAuthor" />
  572. </MultiBinding.Bindings>
  573. </MultiBinding>
  574. </helper:AdvancedInvokeCommandAction.CommandParameter>
  575. </helper:AdvancedInvokeCommandAction>
  576. </i:EventTrigger>
  577. </i:Interaction.Triggers>
  578. </UserControl>