TextEditProperty.xaml 46 KB

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