TextEditProperty.xaml 44 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858
  1. <UserControl
  2. x:Class="PDF_Office.Views.PropertyPanel.PDFEdit.TextEditProperty"
  3. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  4. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  5. xmlns:CompositeControl="clr-namespace:PDF_Office.CustomControl.CompositeControl"
  6. xmlns:FormControl="clr-namespace:PDF_Office.CustomControl.Form"
  7. xmlns:Convert="clr-namespace:PDF_Office.DataConvert"
  8. xmlns:cus="clr-namespace:PDF_Office.CustomControl"
  9. xmlns:cusColor="clr-namespace:PDF_Office.CustomControl.CompositeControl"
  10. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  11. xmlns:i="http://schemas.microsoft.com/xaml/behaviors"
  12. xmlns:local="clr-namespace:PDF_Office.Views.PropertyPanel"
  13. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  14. xmlns:pdfedit="clr-namespace:PDF_Office.Views.PropertyPanel.PDFEdit"
  15. xmlns:prism="http://prismlibrary.com/"
  16. prism:ViewModelLocator.AutoWireViewModel="True"
  17. d:DesignHeight="450"
  18. d:DesignWidth="800"
  19. Loaded="UserControl_Loaded"
  20. mc:Ignorable="d">
  21. <!--d:DataContext="{d:DesignInstance Type=pdfedit:TextEditPropertyViewModel}"-->
  22. <UserControl.Resources>
  23. <ResourceDictionary>
  24. <ResourceDictionary.MergedDictionaries>
  25. <ResourceDictionary Source="../../../Styles/SliderStyle.xaml" />
  26. <ResourceDictionary Source="../../../Styles/CustomBtnStyle.xaml" />
  27. <ResourceDictionary Source="../../../Styles/RadioButtonStyle.xaml" />
  28. </ResourceDictionary.MergedDictionaries>
  29. <Convert:BoolToVisible x:Key="BoolToVisible" />
  30. <Convert:InvertBoolToVisibleConvert x:Key="InvertBoolToVisibleConvert" />
  31. <Convert:InvertBoolConvert x:Key="InvertBoolConvert" />
  32. <ContextMenu x:Key="BtnFlyoutMenu" FontSize="14">
  33. <ContextMenu.ItemContainerStyle>
  34. <Style TargetType="MenuItem">
  35. <Setter Property="Padding" Value="0,7,0,7" />
  36. <Setter Property="VerticalContentAlignment" Value="Center" />
  37. </Style>
  38. </ContextMenu.ItemContainerStyle>
  39. <MenuItem
  40. Name="ChangeStyleMenuItem"
  41. Header="用所选部分重新定义"
  42. IsEnabled="True" />
  43. <MenuItem
  44. Name="BackStyleMenuItem"
  45. Header="恢复默认预设样式"
  46. IsEnabled="True" />
  47. </ContextMenu>
  48. <DataTemplate x:Key="FontStyleData">
  49. <Grid>
  50. <TextBlock Foreground="Black" Text="{Binding mFontStyleName}" />
  51. </Grid>
  52. </DataTemplate>
  53. </ResourceDictionary>
  54. </UserControl.Resources>
  55. <Grid Background="#F3F3F3">
  56. <Grid.RowDefinitions>
  57. <RowDefinition Height="Auto" />
  58. <RowDefinition Height="Auto" />
  59. </Grid.RowDefinitions>
  60. <Grid Visibility="{Binding IsSelectTextAndImg, Converter={StaticResource InvertBoolToVisibleConvert}}">
  61. <StackPanel Visibility="{Binding IsTextEdit, Converter={StaticResource BoolToVisible}}">
  62. <TextBlock
  63. Name="AnnotTypeTitle"
  64. Margin="10,8,0,0"
  65. HorizontalAlignment="Left"
  66. FontFamily="Segoe UI Semibold"
  67. FontSize="18"
  68. FontWeight="SemiBold"
  69. LineHeight="24">
  70. Freetext
  71. </TextBlock>
  72. <Border
  73. Width="228"
  74. Height="100"
  75. Margin="0,8,0,0"
  76. Background="White"
  77. BorderBrush="#DDDDDD"
  78. BorderThickness="1"
  79. CornerRadius="2">
  80. <Grid>
  81. <Border
  82. Name="FreeTextBorder"
  83. Padding="5"
  84. HorizontalAlignment="Center"
  85. VerticalAlignment="Center">
  86. <TextBlock
  87. Name="SampleText"
  88. HorizontalAlignment="Center"
  89. VerticalAlignment="Center"
  90. FontFamily="{Binding TextFontFamily}"
  91. FontSize="{Binding TextFontSize}"
  92. FontStyle="{Binding TextFontStyle}"
  93. FontWeight="{Binding TextFontWeights}"
  94. Foreground="{Binding SelectColor}"
  95. Text="Sample" />
  96. </Border>
  97. <Path
  98. Name="UnderlinePath"
  99. Margin="0,51,0,0"
  100. HorizontalAlignment="Center"
  101. StrokeThickness="2"
  102. Visibility="Collapsed">
  103. <Path.Data>
  104. <LineGeometry StartPoint="0,0" EndPoint="62,0" />
  105. </Path.Data>
  106. </Path>
  107. <Path
  108. Name="StrikeoutPath"
  109. Margin="0,40,0,0"
  110. HorizontalAlignment="Center"
  111. StrokeThickness="2"
  112. Visibility="Collapsed">
  113. <Path.Data>
  114. <LineGeometry StartPoint="0,0" EndPoint="62,0" />
  115. </Path.Data>
  116. </Path>
  117. <Path
  118. Name="SquigglyPath"
  119. Margin="0,51,0,0"
  120. HorizontalAlignment="Center"
  121. StrokeThickness="2"
  122. Visibility="Collapsed" />
  123. </Grid>
  124. </Border>
  125. <Border
  126. Height="32"
  127. Margin="12,0,4,0"
  128. BorderBrush="#E2E3E6"
  129. BorderThickness="0">
  130. <StackPanel Orientation="Horizontal">
  131. <ComboBox
  132. Name="FontTitleBox"
  133. Width="148"
  134. Padding="10,10,0,0"
  135. Background="Transparent"
  136. BorderBrush="#FFE2E3E6"
  137. BorderThickness="1"
  138. IsReadOnly="True"
  139. ItemTemplate="{StaticResource FontStyleData}"
  140. ItemsSource="{Binding FontStyleList}">
  141. <i:Interaction.Triggers>
  142. <i:EventTrigger EventName="SelectionChanged">
  143. <i:InvokeCommandAction Command="{Binding SelectedFontStyleCommand}" CommandParameter="{Binding ElementName=FontTitleBox, Path=SelectedItem}" />
  144. </i:EventTrigger>
  145. </i:Interaction.Triggers>
  146. </ComboBox>
  147. <Button
  148. Width="32"
  149. Height="32"
  150. ContextMenu="{StaticResource BtnFlyoutMenu}" />
  151. </StackPanel>
  152. </Border>
  153. <TextBlock
  154. x:Name="FontText"
  155. Margin="12,18,0,0"
  156. FontFamily="Segoe UI Semibold"
  157. FontSize="14"
  158. FontWeight="SemiBold"
  159. LineHeight="20">
  160. Font
  161. </TextBlock>
  162. <Grid Margin="0,6,0,0">
  163. <Grid.ColumnDefinitions>
  164. <ColumnDefinition Width="auto" />
  165. <ColumnDefinition Width="auto" />
  166. </Grid.ColumnDefinitions>
  167. <Grid.RowDefinitions>
  168. <RowDefinition Height="auto" />
  169. <RowDefinition Height="auto" />
  170. <RowDefinition Height="auto" />
  171. </Grid.RowDefinitions>
  172. <Border
  173. Grid.ColumnSpan="2"
  174. Width="228"
  175. Height="32"
  176. Margin="12,0,4,0"
  177. BorderBrush="#E2E3E6"
  178. BorderThickness="0">
  179. <Grid>
  180. <ComboBox
  181. Name="FontFamilyBox"
  182. Padding="10,10,0,0"
  183. Background="Transparent"
  184. BorderBrush="#FFE2E3E6"
  185. BorderThickness="1"
  186. IsReadOnly="True">
  187. <ComboBox.ItemContainerStyle>
  188. <Style TargetType="{x:Type ComboBoxItem}">
  189. <Setter Property="Padding" Value="10,0,0,0" />
  190. </Style>
  191. </ComboBox.ItemContainerStyle>
  192. <ComboBoxItem
  193. Height="32"
  194. VerticalContentAlignment="Center"
  195. Template="{StaticResource comboxitem}">
  196. <TextBlock
  197. FontFamily="Courier New"
  198. FontSize="14"
  199. Tag="Courier"
  200. Text="Courier New" />
  201. </ComboBoxItem>
  202. <ComboBoxItem
  203. Height="32"
  204. VerticalContentAlignment="Center"
  205. Template="{StaticResource comboxitem}">
  206. <TextBlock
  207. FontFamily="Arial"
  208. FontSize="14"
  209. Tag="Helvetica"
  210. Text="Arial" />
  211. </ComboBoxItem>
  212. <ComboBoxItem
  213. Height="32"
  214. VerticalContentAlignment="Center"
  215. Template="{StaticResource comboxitem}">
  216. <TextBlock
  217. FontFamily="Times New Roman"
  218. FontSize="14"
  219. Tag="Times Roman"
  220. Text="Times New Roman" />
  221. </ComboBoxItem>
  222. <i:Interaction.Triggers>
  223. <i:EventTrigger EventName="SelectionChanged">
  224. <i:InvokeCommandAction Command="{Binding FontFamilyChangedCommand}" CommandParameter="{Binding ElementName=FontFamilyBox, Path=SelectedIndex}" />
  225. </i:EventTrigger>
  226. </i:Interaction.Triggers>
  227. </ComboBox>
  228. <TextBox
  229. Name="FontFamilyText"
  230. Margin="2,0,25,0"
  231. Padding="10,0,0,0"
  232. VerticalAlignment="Center"
  233. Background="White"
  234. BorderThickness="0"
  235. FontFamily="Segoe UI"
  236. FontSize="14"
  237. IsReadOnly="True"
  238. TextAlignment="Left" />
  239. </Grid>
  240. </Border>
  241. <cusColor:ColorSubContent
  242. x:Name="FontColorBox"
  243. Grid.Row="2"
  244. Grid.Column="1"
  245. HorizontalAlignment="Left" />
  246. <Border
  247. Grid.Row="1"
  248. Width="148"
  249. Height="32"
  250. Margin="12,8,4,0"
  251. BorderBrush="#E2E3E6"
  252. BorderThickness="0">
  253. <Grid>
  254. <ComboBox
  255. Name="FontStyleBox"
  256. Padding="10,10,0,0"
  257. Background="Transparent"
  258. BorderBrush="#FFE2E3E6"
  259. BorderThickness="1"
  260. IsReadOnly="True">
  261. <ComboBox.ItemContainerStyle>
  262. <Style TargetType="{x:Type ComboBoxItem}">
  263. <Setter Property="Padding" Value="10,0,0,0" />
  264. </Style>
  265. </ComboBox.ItemContainerStyle>
  266. <ComboBoxItem
  267. x:Name="RegularItem"
  268. Height="32"
  269. VerticalContentAlignment="Center"
  270. Template="{StaticResource comboxitem}">
  271. Regular
  272. </ComboBoxItem>
  273. <ComboBoxItem
  274. x:Name="BoldItem"
  275. Height="32"
  276. VerticalContentAlignment="Center"
  277. Template="{StaticResource comboxitem}">
  278. Bold
  279. </ComboBoxItem>
  280. <ComboBoxItem
  281. x:Name="ItalicItem"
  282. Height="32"
  283. VerticalContentAlignment="Center"
  284. Template="{StaticResource comboxitem}">
  285. Italic
  286. </ComboBoxItem>
  287. <ComboBoxItem
  288. x:Name="BoldItalicItem"
  289. Height="32"
  290. VerticalContentAlignment="Center"
  291. Template="{StaticResource comboxitem}">
  292. Bold Italic
  293. </ComboBoxItem>
  294. <i:Interaction.Triggers>
  295. <i:EventTrigger EventName="SelectionChanged">
  296. <i:InvokeCommandAction Command="{Binding FontStyleChangedCommand}" CommandParameter="{Binding ElementName=FontStyleBox, Path=SelectedItem}" />
  297. </i:EventTrigger>
  298. </i:Interaction.Triggers>
  299. </ComboBox>
  300. <TextBox
  301. Name="FontStyleText"
  302. Height="20"
  303. Margin="2,0,35,0"
  304. Padding="10,0,0,0"
  305. VerticalAlignment="Center"
  306. Background="White"
  307. BorderThickness="0"
  308. FontFamily="Segoe UI"
  309. FontSize="14"
  310. IsReadOnly="True"
  311. TextAlignment="Left" />
  312. </Grid>
  313. </Border>
  314. <Border
  315. Grid.Row="1"
  316. Grid.Column="1"
  317. Width="80"
  318. Height="32"
  319. Margin="-1,8,0,0"
  320. BorderBrush="#E2E3E6"
  321. BorderThickness="0">
  322. <Grid>
  323. <ComboBox
  324. Name="FontSizeBox"
  325. Background="Transparent"
  326. BorderBrush="#FFE2E3E6"
  327. BorderThickness="1"
  328. MaxDropDownHeight="200">
  329. <ComboBox.ItemContainerStyle>
  330. <Style TargetType="{x:Type ComboBoxItem}">
  331. <Setter Property="Padding" Value="10,0,0,0" />
  332. </Style>
  333. </ComboBox.ItemContainerStyle>
  334. <ComboBoxItem
  335. Height="32"
  336. VerticalContentAlignment="Center"
  337. Template="{StaticResource comboxitem}">
  338. 6
  339. </ComboBoxItem>
  340. <ComboBoxItem
  341. Height="32"
  342. VerticalContentAlignment="Center"
  343. Template="{StaticResource comboxitem}">
  344. 8
  345. </ComboBoxItem>
  346. <ComboBoxItem
  347. Height="32"
  348. VerticalContentAlignment="Center"
  349. Template="{StaticResource comboxitem}">
  350. 9
  351. </ComboBoxItem>
  352. <ComboBoxItem
  353. Height="32"
  354. VerticalContentAlignment="Center"
  355. Template="{StaticResource comboxitem}">
  356. 10
  357. </ComboBoxItem>
  358. <ComboBoxItem
  359. Height="32"
  360. VerticalContentAlignment="Center"
  361. Template="{StaticResource comboxitem}">
  362. 12
  363. </ComboBoxItem>
  364. <ComboBoxItem
  365. Height="32"
  366. VerticalContentAlignment="Center"
  367. Template="{StaticResource comboxitem}">
  368. 14
  369. </ComboBoxItem>
  370. <ComboBoxItem
  371. Height="32"
  372. VerticalContentAlignment="Center"
  373. Template="{StaticResource comboxitem}">
  374. 18
  375. </ComboBoxItem>
  376. <ComboBoxItem
  377. Height="32"
  378. VerticalContentAlignment="Center"
  379. Template="{StaticResource comboxitem}">
  380. 20
  381. </ComboBoxItem>
  382. <ComboBoxItem
  383. Height="32"
  384. VerticalContentAlignment="Center"
  385. Template="{StaticResource comboxitem}">
  386. 22
  387. </ComboBoxItem>
  388. <ComboBoxItem
  389. Height="32"
  390. VerticalContentAlignment="Center"
  391. Template="{StaticResource comboxitem}">
  392. 24
  393. </ComboBoxItem>
  394. <ComboBoxItem
  395. Height="32"
  396. VerticalContentAlignment="Center"
  397. Template="{StaticResource comboxitem}">
  398. 26
  399. </ComboBoxItem>
  400. <ComboBoxItem
  401. Height="32"
  402. VerticalContentAlignment="Center"
  403. Template="{StaticResource comboxitem}">
  404. 28
  405. </ComboBoxItem>
  406. <ComboBoxItem
  407. Height="32"
  408. VerticalContentAlignment="Center"
  409. Template="{StaticResource comboxitem}">
  410. 32
  411. </ComboBoxItem>
  412. <ComboBoxItem
  413. Height="32"
  414. VerticalContentAlignment="Center"
  415. Template="{StaticResource comboxitem}">
  416. 36
  417. </ComboBoxItem>
  418. <ComboBoxItem
  419. Height="32"
  420. VerticalContentAlignment="Center"
  421. Template="{StaticResource comboxitem}">
  422. 48
  423. </ComboBoxItem>
  424. <ComboBoxItem
  425. Height="32"
  426. VerticalContentAlignment="Center"
  427. Template="{StaticResource comboxitem}">
  428. 72
  429. </ComboBoxItem>
  430. <i:Interaction.Triggers>
  431. <i:EventTrigger EventName="SelectionChanged">
  432. <i:InvokeCommandAction Command="{Binding FontSizeChangedCommand}" CommandParameter="{Binding ElementName=FontSizeBox, Path=SelectedItem}" />
  433. </i:EventTrigger>
  434. </i:Interaction.Triggers>
  435. </ComboBox>
  436. <TextBox
  437. Name="FontSizeText"
  438. Height="20"
  439. Margin="2,0,35,0"
  440. Padding="10,0,0,0"
  441. VerticalAlignment="Center"
  442. Background="White"
  443. BorderThickness="0"
  444. FontFamily="Segoe UI"
  445. FontSize="14"
  446. IsReadOnly="True"
  447. TextAlignment="Left" />
  448. </Grid>
  449. </Border>
  450. <Border
  451. Grid.Row="2"
  452. Grid.ColumnSpan="2"
  453. Width="148"
  454. Margin="12,8,0,0"
  455. HorizontalAlignment="Left">
  456. <Grid Name="ToolGrid">
  457. <Grid.ColumnDefinitions>
  458. <ColumnDefinition Width="*" />
  459. <ColumnDefinition Width="*" />
  460. <ColumnDefinition Width="*" />
  461. <ColumnDefinition Width="*" />
  462. </Grid.ColumnDefinitions>
  463. <RadioButton
  464. x:Name="TextAlignLeftBtn"
  465. Width="32"
  466. Height="32"
  467. VerticalContentAlignment="Center"
  468. Background="Transparent"
  469. Foreground="#616469"
  470. GroupName="TextAlign"
  471. IsChecked="True"
  472. Style="{DynamicResource GreyBgRadioBtnStyle}"
  473. Tag="AlignLeft">
  474. <RadioButton.Content>
  475. <Grid Width="32" Height="32">
  476. <Canvas Margin="5,10,0,0">
  477. <Rectangle
  478. Canvas.Top="0.25"
  479. Width="14"
  480. Height="1.5"
  481. Stroke="{Binding ElementName=TextAlignLeftBtn, Path=Foreground}"
  482. StrokeThickness="1.5" />
  483. <Rectangle
  484. Canvas.Top="4.25"
  485. Width="8"
  486. Height="1.5"
  487. Stroke="{Binding ElementName=TextAlignLeftBtn, Path=Foreground}"
  488. StrokeThickness="1.5" />
  489. <Rectangle
  490. Canvas.Top="12.25"
  491. Width="8"
  492. Height="1.5"
  493. Stroke="{Binding ElementName=TextAlignLeftBtn, Path=Foreground}"
  494. StrokeThickness="1.5" />
  495. <Rectangle
  496. Canvas.Top="8.25"
  497. Width="14"
  498. Height="1.5"
  499. Stroke="{Binding ElementName=TextAlignLeftBtn, Path=Foreground}"
  500. StrokeThickness="1.5" />
  501. </Canvas>
  502. </Grid>
  503. </RadioButton.Content>
  504. <i:Interaction.Triggers>
  505. <i:EventTrigger EventName="Checked">
  506. <i:InvokeCommandAction Command="{Binding TextAlignCheckedCommand}" CommandParameter="{Binding ElementName=TextAlignLeftBtn, Path=Tag}" />
  507. </i:EventTrigger>
  508. </i:Interaction.Triggers>
  509. </RadioButton>
  510. <RadioButton
  511. x:Name="TextAlignCenterBtn"
  512. Grid.Column="1"
  513. Width="32"
  514. Height="32"
  515. VerticalContentAlignment="Center"
  516. Background="Transparent"
  517. Foreground="#616469"
  518. GroupName="TextAlign"
  519. Style="{DynamicResource GreyBgRadioBtnStyle}"
  520. Tag="AlignCenter">
  521. <RadioButton.Content>
  522. <Grid Width="32" Height="32">
  523. <Canvas Margin="5,10,0,0">
  524. <Rectangle
  525. Canvas.Top="0.25"
  526. Width="14"
  527. Height="1.5"
  528. Stroke="{Binding ElementName=TextAlignCenterBtn, Path=Foreground}"
  529. StrokeThickness="1.5" />
  530. <Rectangle
  531. Canvas.Left="3"
  532. Canvas.Top="4.25"
  533. Width="8"
  534. Height="1.5"
  535. Stroke="{Binding ElementName=TextAlignCenterBtn, Path=Foreground}"
  536. StrokeThickness="1.5" />
  537. <Rectangle
  538. Canvas.Left="3"
  539. Canvas.Top="12.25"
  540. Width="8"
  541. Height="1.5"
  542. Stroke="{Binding ElementName=TextAlignCenterBtn, Path=Foreground}"
  543. StrokeThickness="1.5" />
  544. <Rectangle
  545. Canvas.Top="8.25"
  546. Width="14"
  547. Height="1.5"
  548. Stroke="{Binding ElementName=TextAlignCenterBtn, Path=Foreground}"
  549. StrokeThickness="1.5" />
  550. </Canvas>
  551. </Grid>
  552. </RadioButton.Content>
  553. <i:Interaction.Triggers>
  554. <i:EventTrigger EventName="Checked">
  555. <i:InvokeCommandAction Command="{Binding TextAlignCheckedCommand}" CommandParameter="{Binding ElementName=TextAlignCenterBtn, Path=Tag}" />
  556. </i:EventTrigger>
  557. </i:Interaction.Triggers>
  558. </RadioButton>
  559. <RadioButton
  560. x:Name="TextAlignRightBtn"
  561. Grid.Column="2"
  562. Width="32"
  563. Height="32"
  564. VerticalContentAlignment="Center"
  565. Background="Transparent"
  566. Foreground="#616469"
  567. GroupName="TextAlign"
  568. Style="{DynamicResource GreyBgRadioBtnStyle}"
  569. Tag="AlignRight">
  570. <RadioButton.Content>
  571. <Grid Width="32" Height="32">
  572. <Canvas Margin="5,10,0,0">
  573. <Rectangle
  574. Canvas.Top="0.25"
  575. Width="14"
  576. Height="1.5"
  577. Stroke="{Binding ElementName=TextAlignRightBtn, Path=Foreground}"
  578. StrokeThickness="1.5" />
  579. <Rectangle
  580. Canvas.Left="6"
  581. Canvas.Top="4.25"
  582. Width="8"
  583. Height="1.5"
  584. Stroke="{Binding ElementName=TextAlignRightBtn, Path=Foreground}"
  585. StrokeThickness="1.5" />
  586. <Rectangle
  587. Canvas.Left="6"
  588. Canvas.Top="12.25"
  589. Width="8"
  590. Height="1.5"
  591. Stroke="{Binding ElementName=TextAlignRightBtn, Path=Foreground}"
  592. StrokeThickness="1.5" />
  593. <Rectangle
  594. Canvas.Top="8.25"
  595. Width="14"
  596. Height="1.5"
  597. Stroke="{Binding ElementName=TextAlignRightBtn, Path=Foreground}"
  598. StrokeThickness="1.5" />
  599. </Canvas>
  600. </Grid>
  601. </RadioButton.Content>
  602. <i:Interaction.Triggers>
  603. <i:EventTrigger EventName="Checked">
  604. <i:InvokeCommandAction Command="{Binding TextAlignCheckedCommand}" CommandParameter="{Binding ElementName=TextAlignRightBtn, Path=Tag}" />
  605. </i:EventTrigger>
  606. </i:Interaction.Triggers>
  607. </RadioButton>
  608. <RadioButton
  609. x:Name="TextAlignBtn"
  610. Grid.Column="3"
  611. Width="32"
  612. Height="32"
  613. VerticalContentAlignment="Center"
  614. Background="Transparent"
  615. Foreground="#616469"
  616. GroupName="TextAlign"
  617. Style="{DynamicResource GreyBgRadioBtnStyle}"
  618. Tag="Align">
  619. <RadioButton.Content>
  620. <Grid Width="32" Height="32">
  621. <Canvas Margin="5,10,0,0">
  622. <Rectangle
  623. Canvas.Top="0.25"
  624. Width="14"
  625. Height="1.5"
  626. Stroke="{Binding ElementName=TextAlignBtn, Path=Foreground}"
  627. StrokeThickness="1.5" />
  628. <Rectangle
  629. Canvas.Top="8.25"
  630. Width="14"
  631. Height="1.5"
  632. Stroke="{Binding ElementName=TextAlignBtn, Path=Foreground}"
  633. StrokeThickness="1.5" />
  634. <Rectangle
  635. Canvas.Top="4.25"
  636. Width="14"
  637. Height="1.5"
  638. Stroke="{Binding ElementName=TextAlignBtn, Path=Foreground}"
  639. StrokeThickness="1.5" />
  640. <Rectangle
  641. Canvas.Top="12.25"
  642. Width="14"
  643. Height="1.5"
  644. Stroke="{Binding ElementName=TextAlignBtn, Path=Foreground}"
  645. StrokeThickness="1.5" />
  646. </Canvas>
  647. </Grid>
  648. </RadioButton.Content>
  649. <i:Interaction.Triggers>
  650. <i:EventTrigger EventName="Checked">
  651. <i:InvokeCommandAction Command="{Binding TextAlignCheckedCommand}" CommandParameter="{Binding ElementName=TextAlignBtn, Path=Tag}" />
  652. </i:EventTrigger>
  653. </i:Interaction.Triggers>
  654. </RadioButton>
  655. </Grid>
  656. </Border>
  657. </Grid>
  658. <TextBlock
  659. x:Name="AlignText"
  660. Margin="12,14,0,0"
  661. FontFamily="Segoe UI Semibold"
  662. FontSize="14"
  663. FontWeight="SemiBold"
  664. LineHeight="20">
  665. Align
  666. </TextBlock>
  667. </StackPanel>
  668. <!--<StackPanel Visibility="{Binding IsTextEdit, Converter={StaticResource InvertBoolToVisibleConvert}}">
  669. <TextBlock
  670. Name="AnnotTypeTitle1"
  671. Margin="10,8,0,0"
  672. HorizontalAlignment="Left"
  673. FontFamily="Segoe UI Semibold"
  674. FontSize="18"
  675. FontWeight="SemiBold"
  676. LineHeight="24">
  677. Image
  678. </TextBlock>
  679. <Border
  680. Width="228"
  681. Height="100"
  682. Margin="0,8,0,0"
  683. Background="White"
  684. BorderBrush="#DDDDDD"
  685. BorderThickness="1"
  686. CornerRadius="2">
  687. <Grid>
  688. <Border
  689. Name="FreeTextBorder1"
  690. Padding="5"
  691. HorizontalAlignment="Center"
  692. VerticalAlignment="Center">
  693. <Image x:Name="ImgExmple" Source="{Binding CurrentImg}">
  694. <Image.RenderTransform>
  695. <RotateTransform x:Name="test" Angle="{Binding Angle}" />
  696. </Image.RenderTransform>
  697. </Image>
  698. </Border>
  699. </Grid>
  700. </Border>
  701. <StackPanel
  702. Margin="0,18,0,0"
  703. HorizontalAlignment="Center"
  704. Orientation="Horizontal">
  705. <Button
  706. Width="32"
  707. Height="32"
  708. Margin="0,0,20,0"
  709. Command="{Binding AntiClockwiseCommand}"
  710. Content="逆转"
  711. IsEnabled="{Binding IsCrop, Converter={StaticResource InvertBoolConvert}}" />
  712. <Button
  713. Width="32"
  714. Height="32"
  715. Command="{Binding ClockwiseCommand}"
  716. Content="顺转"
  717. IsEnabled="{Binding IsCrop, Converter={StaticResource InvertBoolConvert}}" />
  718. </StackPanel>
  719. <CompositeControl:SlidComboControl IsEnabled="{Binding IsCrop, Converter={StaticResource InvertBoolConvert}}" />
  720. <StackPanel
  721. Width="228"
  722. Margin="0,20,0,0"
  723. HorizontalAlignment="Center">
  724. <Grid x:Name="GridCrop">
  725. <cus:CustomIconToggleBtn
  726. x:Name="BtnCrop"
  727. BorderBrush="#DFE1E5"
  728. BorderThickness="1"
  729. Command="{Binding CropModeCommand}"
  730. ContentStringFormat="156"
  731. Foreground="Black"
  732. Style="{StaticResource ToggleBtnViewModeStyle}"
  733. Tag="Crop"
  734. Visibility="{Binding IsCrop, Converter={StaticResource InvertBoolToVisibleConvert}}">
  735. <TextBlock Text="Crop" />
  736. </cus:CustomIconToggleBtn>
  737. <Grid Visibility="{Binding IsCrop, Converter={StaticResource BoolToVisible}}">
  738. <Grid.ColumnDefinitions>
  739. <ColumnDefinition Width="*" />
  740. <ColumnDefinition Width="8" />
  741. <ColumnDefinition Width="*" />
  742. </Grid.ColumnDefinitions>
  743. <Button
  744. Height="32"
  745. Background="#1770F4"
  746. Command="{Binding CropImgCommand}"
  747. Content="Confirm" />
  748. <Button
  749. Grid.Column="2"
  750. Background="White"
  751. BorderBrush="#DFE1E5"
  752. BorderThickness="1"
  753. Command="{Binding CancelCropCommand}"
  754. Content="Cancel" />
  755. </Grid>
  756. </Grid>
  757. <cus:CustomIconToggleBtn
  758. x:Name="BtnReplace"
  759. Margin="0,13,0,0"
  760. BorderBrush="#DFE1E5"
  761. BorderThickness="1"
  762. Command="{Binding ReplaceImgCommand}"
  763. ContentStringFormat="156"
  764. Foreground="Black"
  765. IsEnabled="{Binding IsCrop, Converter={StaticResource InvertBoolConvert}}"
  766. Style="{StaticResource ToggleBtnViewModeStyle}"
  767. Tag="Replace">
  768. <TextBlock Text="Replace" />
  769. </cus:CustomIconToggleBtn>
  770. <cus:CustomIconToggleBtn
  771. x:Name="BtnExtract"
  772. Margin="0,13,0,0"
  773. BorderBrush="#DFE1E5"
  774. BorderThickness="1"
  775. Command="{Binding ExportImgCommand}"
  776. ContentStringFormat="156"
  777. Foreground="Black"
  778. IsEnabled="{Binding IsCrop, Converter={StaticResource InvertBoolConvert}}"
  779. Style="{StaticResource ToggleBtnViewModeStyle}"
  780. Tag="Extract">
  781. <TextBlock Text="Extract" />
  782. </cus:CustomIconToggleBtn>
  783. </StackPanel>
  784. <TextBlock
  785. x:Name="AlignImg"
  786. Margin="12,14,0,0"
  787. FontFamily="Segoe UI Semibold"
  788. FontSize="14"
  789. FontWeight="SemiBold"
  790. LineHeight="20">
  791. Align
  792. </TextBlock>
  793. </StackPanel>-->
  794. </Grid>
  795. <StackPanel Visibility="{Binding IsSelectTextAndImg, Converter={StaticResource BoolToVisible}}">
  796. <TextBlock
  797. x:Name="GeneralProperties"
  798. Margin="12,14,0,0"
  799. FontFamily="Segoe UI Semibold"
  800. FontSize="14"
  801. FontWeight="SemiBold"
  802. LineHeight="20">
  803. General Properties
  804. </TextBlock>
  805. <TextBlock
  806. x:Name="AlignTextAndImg"
  807. Margin="12,14,0,0"
  808. FontFamily="Segoe UI Semibold"
  809. FontSize="14"
  810. FontWeight="SemiBold"
  811. LineHeight="20">
  812. Align
  813. </TextBlock>
  814. </StackPanel>
  815. <FormControl:LayoutAglinContent x:Name="laoutAglin" Grid.Row="1" IsLayoutAlign="{Binding IsLayoutAlign}" IsLayoutAvgAlign="{Binding IsLayoutAvgAlign}">
  816. <i:Interaction.Triggers>
  817. <i:EventTrigger EventName="ValueChanged">
  818. <i:InvokeCommandAction Command="{Binding ImgAlignCheckedCommand}" CommandParameter="{Binding ElementName=laoutAglin, Path=Btntag}" />
  819. </i:EventTrigger>
  820. </i:Interaction.Triggers>
  821. </FormControl:LayoutAglinContent>
  822. </Grid>
  823. </UserControl>