HomePagePictureToPDFDialog.xaml 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263
  1. <UserControl x:Class="PDF_Office.Views.Dialog.HomePageToolsDialogs.HomePagePictureToPDFDialog"
  2. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  3. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  4. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  5. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  6. xmlns:cus="clr-namespace:PDF_Office.CustomControl"
  7. xmlns:prism="http://prismlibrary.com/"
  8. xmlns:homepagetoolsdialogs="clr-namespace:PDF_Office.ViewModels.Dialog.HomePageToolsDialogs"
  9. d:DataContext="{d:DesignInstance Type=homepagetoolsdialogs:HomePagePictureToPDFDialogViewModel}"
  10. prism:ViewModelLocator.AutoWireViewModel="True"
  11. xmlns:convert="clr-namespace:PDF_Office.DataConvert"
  12. d:DesignHeight="554"
  13. d:DesignWidth="892"
  14. mc:Ignorable="d">
  15. <UserControl.Resources>
  16. <ResourceDictionary>
  17. <Style x:Key="HeadStyle" TargetType="{x:Type GridViewColumnHeader}">
  18. <Setter Property="OverridesDefaultStyle" Value="False" />
  19. <Setter Property="TextBlock.HorizontalAlignment" Value="Left"/>
  20. <Setter Property="TextBlock.VerticalAlignment" Value="Center"/>
  21. <Setter Property="Height" Value=" 32"/>
  22. <Setter Property="Width" Value="Auto"/>
  23. <Setter Property="TextBlock.FontFamily" Value="Segoe UI"></Setter>
  24. <Setter Property="Template">
  25. <Setter.Value>
  26. <ControlTemplate TargetType="{x:Type GridViewColumnHeader}">
  27. <Grid Name="g" Background="#FFFFFF">
  28. <Border Name="bd" Padding="{TemplateBinding Padding}">
  29. <ContentPresenter Margin="5,4,1,3" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" />
  30. </Border>
  31. </Grid>
  32. <ControlTemplate.Triggers>
  33. <Trigger Property="IsMouseOver" Value="True">
  34. <Setter TargetName="g" Property="Background">
  35. <Setter.Value>
  36. <LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
  37. <GradientStop Offset="0.3" Color="#CED0D4" />
  38. </LinearGradientBrush>
  39. </Setter.Value>
  40. </Setter>
  41. </Trigger>
  42. </ControlTemplate.Triggers>
  43. </ControlTemplate>
  44. </Setter.Value>
  45. </Setter>
  46. </Style>
  47. <!-- ListViewItem的样式 -->
  48. <Style x:Key="listitem1" TargetType="{x:Type ListViewItem}">
  49. <Style.Setters>
  50. <Setter Property="SnapsToDevicePixels" Value="True" />
  51. <Setter Property="Template">
  52. <Setter.Value>
  53. <ControlTemplate TargetType="{x:Type ListViewItem}">
  54. <Border
  55. x:Name="bd"
  56. Padding="{TemplateBinding Padding}"
  57. SnapsToDevicePixels="True">
  58. <GridViewRowPresenter
  59. Margin="3"
  60. Columns="{TemplateBinding GridView.ColumnCollection}"
  61. Content="{TemplateBinding Content}" />
  62. </Border>
  63. <ControlTemplate.Triggers>
  64. <Trigger Property="IsSelected" Value="True">
  65. <Trigger.Setters>
  66. <Setter TargetName="bd" Property="Background">
  67. <Setter.Value>
  68. <LinearGradientBrush StartPoint="0.5,0.22" EndPoint="0.5,1">
  69. <GradientStop Offset="0.31" Color="LightGray" />
  70. <GradientStop Offset="0.88" Color="Gray" />
  71. </LinearGradientBrush>
  72. </Setter.Value>
  73. </Setter>
  74. </Trigger.Setters>
  75. </Trigger>
  76. </ControlTemplate.Triggers>
  77. </ControlTemplate>
  78. </Setter.Value>
  79. </Setter>
  80. </Style.Setters>
  81. </Style>
  82. <convert:UnVisivleConvert x:Key="unVisibleConvert"/>
  83. </ResourceDictionary>
  84. </UserControl.Resources>
  85. <Grid IsEnabled="{Binding PictureToPDFGridIsEnabled}">
  86. <Grid.ColumnDefinitions>
  87. <ColumnDefinition Width="632*"/>
  88. <ColumnDefinition Width="260"/>
  89. </Grid.ColumnDefinitions>
  90. <Grid Grid.Column="0">
  91. <Grid.RowDefinitions>
  92. <RowDefinition Height="*"/>
  93. <RowDefinition Height="72"/>
  94. </Grid.RowDefinitions>
  95. <Grid Grid.Row="0" AllowDrop="True"
  96. Drop="Grid_Drop"
  97. DragEnter="MainPage_DragEnter"
  98. DragOver="MainPage_DragOver"
  99. DragLeave="MainPage_DragLeave"
  100. >
  101. <!--<Label Name="DropGrid" Background="#18A0FB" Opacity="0.5" Panel.ZIndex="1" Visibility="Collapsed"/>-->
  102. <Grid Visibility="{Binding AddFileVisibility}" Height="480" Width="632">
  103. <Button Name="BtnBlank" Background="White" Height="180" Width="418" Visibility="{Binding AddFileVisibility}" Command="{Binding ADDPictureCommand}" BorderBrush="#FFFFFF">
  104. <StackPanel>
  105. <Grid Width="128" Height="128">
  106. <Path Data="M19.5 43.7691C19.5 42.7996 20.286 42.0137 21.2555 42.0137H40.478C40.8527 42.0137 41.2176 42.1336 41.5193 42.3559L50.4493 48.9359C51.2666 49.5381 52.2551 49.8629 53.2702 49.8629H93.2372C94.2067 49.8629 94.9927 50.6489 94.9927 51.6184V95.5671C94.9927 96.5366 94.2067 97.3225 93.2372 97.3225H21.2555C20.286 97.3225 19.5 96.5366 19.5 95.5671V43.7691Z" Stroke="#CED0D4" StrokeThickness="3"/>
  107. <Path Data="M27 41.3125V37.2555C27 35.4575 28.4575 34 30.2555 34H49.478C50.1729 34 50.8496 34.2224 51.4091 34.6346L60.3391 41.2146C60.8986 41.6269 61.5753 41.8493 62.2702 41.8493H100.237C102.035 41.8493 103.493 43.3068 103.493 45.1047V91C103.493 94.3137 100.806 97 97.4927 97H91.6811" Stroke="#CED0D4" StrokeThickness="3"/>
  108. </Grid>
  109. <TextBlock Margin="0,8,0,0" HorizontalAlignment="Center" Text="No Files" FontSize="14" Style="{StaticResource PropertyHeaderLv2}"></TextBlock>
  110. <TextBlock Margin="0,2,0,0" Width="418" Height="20" Text="Click the button below to select the file." TextAlignment="Center" Style="{StaticResource PropertyHeaderLv2}" FontSize="12" TextBlock.Foreground="{StaticResource color.sys.text.neutral.lv3}"></TextBlock>
  111. </StackPanel>
  112. </Button>
  113. </Grid>
  114. <ListView x:Name="listView" DataContext="{Binding ImagesDataTable}" Background="White" ItemsSource="{Binding}" SelectionChanged="listView_SelectionChanged" BorderThickness="1,0,1,1" Visibility="{Binding ElementName=BtnBlank, Path=Visibility, Converter={StaticResource unVisibleConvert}}">
  115. <ListView.ContextMenu>
  116. <ContextMenu StaysOpen="True" >
  117. <MenuItem Header="打开文件" Name="OpenFileMenuItem" Click="OpenFileMenuItem_Click" />
  118. <MenuItem Header="移除" Name="RemoveFileMenuItem" Click="RemoveFileMenuItem_Click"/>
  119. </ContextMenu>
  120. </ListView.ContextMenu >
  121. <ListView.View >
  122. <GridView ColumnHeaderContainerStyle="{StaticResource HeadStyle}">
  123. <GridViewColumn Header="文档名" Width="400" DisplayMemberBinding="{Binding FileName}">
  124. </GridViewColumn>
  125. <GridViewColumn Header="大小" Width="100" DisplayMemberBinding="{Binding FileSize}"/>
  126. <GridViewColumn Header="状态" Width="82" >
  127. <GridViewColumn.CellTemplate>
  128. <DataTemplate>
  129. <StackPanel Orientation="Horizontal">
  130. <cus:BatchStatus StatusValue="{Binding FileState,Mode=TwoWay}" Width="16" Height="16" MaxStatusValue="{Binding MaxPageRange,Mode=TwoWay}"/>
  131. <Button Name="DeleteTemplateBtn" Width="17" Height="17" Margin="39,0,0,0" Click="DeleteTemplateBtn_Click" Style="{StaticResource btn.sec}">
  132. <Grid Width="14" Height="14">
  133. <Path Data ="M7 14C10.866 14 14 10.866 14 7C14 3.13401 10.866 0 7 0C3.13401 0 0 3.13401 0 7C0 10.866 3.13401 14 7 14ZM10.5303 4.53038L8.06069 7L10.5303 9.46962L9.46967 10.5303L7.00002 8.06066L4.53033 10.5303L3.46967 9.46967L5.93936 7L3.46967 4.53033L4.53033 3.46967L7.00002 5.93934L9.46967 3.46971L10.5303 4.53038Z" Fill="#CED0D4" Stretch="Fill"/>
  134. </Grid>
  135. </Button>
  136. </StackPanel>
  137. <DataTemplate.Triggers>
  138. <DataTrigger Binding="{Binding Path=IsMouseOver, RelativeSource={RelativeSource FindAncestor, AncestorType=ListViewItem}}" Value="True">
  139. <Setter TargetName="DeleteTemplateBtn" Property="Visibility" Value="Visible"/>
  140. </DataTrigger>
  141. <DataTrigger Binding="{Binding Path=IsMouseOver, RelativeSource={RelativeSource FindAncestor, AncestorType=ListViewItem}}" Value="False">
  142. <Setter TargetName="DeleteTemplateBtn" Property="Visibility" Value="Hidden"/>
  143. </DataTrigger>
  144. </DataTemplate.Triggers>
  145. </DataTemplate>
  146. </GridViewColumn.CellTemplate>
  147. </GridViewColumn>
  148. </GridView>
  149. </ListView.View>
  150. <ListView.ItemContainerStyle>
  151. <Style TargetType="ListViewItem">
  152. <Setter Property="Height" Value="42"/>
  153. <Style.Triggers>
  154. <Trigger Property="ListView.AlternationIndex" Value="1">
  155. <Setter Property="Background" Value="LightGray"/>
  156. </Trigger>
  157. </Style.Triggers>
  158. </Style>
  159. </ListView.ItemContainerStyle>
  160. </ListView>
  161. </Grid>
  162. <Grid Grid.Row="1">
  163. <Button x:Name="MenuBtn" Width="113"
  164. Height="32"
  165. Margin="25,0,0,0"
  166. HorizontalAlignment="Left" Click="Menu_Click" Style="{StaticResource btn.sec}">
  167. <StackPanel Orientation="Horizontal" >
  168. <Border HorizontalAlignment="Right">
  169. <TextBlock Text="Add Files" FontSize="14" Foreground="Black" Width="57" Height="22" ></TextBlock>
  170. </Border>
  171. <Border Margin="12,0,0,0" Width="12" Height="7">
  172. <Path VerticalAlignment="Center" HorizontalAlignment="Right" Fill="#94989C" Data="M6 4.80726L1.26513 0L0 1.28448L5.36743 6.73398C5.71679 7.08868 6.28321 7.08868 6.63257 6.73398L12 1.28448L10.7349 0L6 4.80726Z" Stretch="Fill" />
  173. </Border>
  174. </StackPanel>
  175. </Button>
  176. <Popup x:Name="menuPop1" StaysOpen="False" AllowsTransparency="True" PlacementTarget="{Binding ElementName=MenuBtn}">
  177. <Grid Height="auto" Width="auto" HorizontalAlignment="Left">
  178. <Border BorderThickness="0" CornerRadius="3" Background="White" Margin="3">
  179. <Border.Effect>
  180. <DropShadowEffect ShadowDepth="0" Color="#FFB6B6B6"/>
  181. </Border.Effect>
  182. <StackPanel Margin="0">
  183. <MenuItem x:Name="添加文件" Header="添加文件" Command="{Binding ADDPictureCommand}"></MenuItem>
  184. <MenuItem x:Name="添加文件夹" Header="添加文件夹" Command="{Binding ADDPictureFilesCommand}"></MenuItem>
  185. </StackPanel>
  186. </Border>
  187. </Grid>
  188. </Popup>
  189. <!--<Button
  190. Width="40"
  191. Height="40"
  192. Margin="0,0,90,0"
  193. HorizontalAlignment="Right">
  194. </Button>-->
  195. <Button
  196. Width="32"
  197. Height="32"
  198. Margin="25,0"
  199. HorizontalAlignment="Right"
  200. IsEnabled="{Binding RemoveIsEnable}"
  201. Command="{Binding RemovePictureFileCommand}" Style="{StaticResource btn.sec}">
  202. <Grid Width="16" Height="16">
  203. <Path Fill="#616469" Data="M6 1.75H10V0.25H6V1.75ZM1 4.25H2.25V15C2.25 15.4142 2.58579 15.75 3 15.75H13C13.4142 15.75 13.75 15.4142 13.75 15V4.25H15V2.75H1V4.25ZM3.75 14.25V4.25H12.25V14.25H3.75ZM7.25 6.5V11.5H8.75V6.5H7.25Z" />
  204. </Grid>
  205. </Button>
  206. </Grid>
  207. </Grid>
  208. <Grid Grid.Column="1" Background="WhiteSmoke" IsEnabled="{Binding SetPictureToPDFGridIsEnabled}">
  209. <Grid.RowDefinitions>
  210. <RowDefinition Height="1*"/>
  211. <RowDefinition Height="64"/>
  212. </Grid.RowDefinitions>
  213. <Grid Grid.Row="0" Margin="16,14,0,0">
  214. <StackPanel>
  215. <TextBlock Text="Setting" Style="{StaticResource PagesView_titleContext}"/>
  216. <TextBlock Text="Export" Height="20" Style="{StaticResource PropertyHeaderLv2}" Margin="0,16,0,0"/>
  217. <StackPanel Margin="0,8,0,0">
  218. <RadioButton Name="NewFilesRadioButtom" Click="RadioButton_Click" IsChecked="True" Padding="9,0,0,0">
  219. <TextBlock Text="新建文档"/>
  220. </RadioButton>
  221. <RadioButton Name="OneNewFileNameRadioButtom" Margin="0,8,0,0" Click="RadioButton_Click" Padding="9,0,0,0">
  222. <TextBlock Text="合并为同一份PDF文档"/>
  223. </RadioButton>
  224. <RadioButton Name="SelectFileNameRadioButton" Margin="0,8,0,0" Click="RadioButton_Click" Padding="9,0,0,0">
  225. <TextBlock Text="插入现有PDF文档"/>
  226. </RadioButton>
  227. </StackPanel>
  228. <StackPanel Orientation="Horizontal" Margin="0,4,0,0">
  229. <TextBox IsEnabled="False" Text="{Binding SelectFileName}" VerticalContentAlignment="Center" Height="32" Width="190"/>
  230. <Button Width="32" Command="{Binding SelectFileCommand}" IsEnabled="{Binding ElementName=SelectFileNameRadioButton,Path=IsChecked}" Style="{StaticResource btn.sec}">
  231. </Button>
  232. </StackPanel>
  233. </StackPanel>
  234. </Grid>
  235. <Grid Grid.Row="1" Margin="15,0,0,0" Visibility="Hidden">
  236. <StackPanel >
  237. <TextBlock Text="OCR"/>
  238. <CheckBox Name="NeedOCRCheckBox" Margin="0,7,0,0">
  239. <TextBlock Text="在需要时识别文本"/>
  240. </CheckBox>
  241. <ComboBox Height="28.55" Width="228" HorizontalAlignment="Left" Margin="0,4,0,0" IsEnabled="{Binding ElementName=NeedOCRCheckBox,Path=IsChecked}"></ComboBox>
  242. <CheckBox Margin="0,16,0,0" IsEnabled="{Binding ElementName=NeedOCRCheckBox,Path=IsChecked}">
  243. <TextBlock Text="识别为TXT"/>
  244. </CheckBox>
  245. </StackPanel>
  246. </Grid>
  247. <Grid Grid.Row="1">
  248. <Button Height="32" Width="228" Command="{Binding ToPDFCommand}" IsEnabled="{Binding ImageToPDFBtnIsEnable}" Style="{StaticResource Btn.cta}">
  249. <TextBlock Text="导出文档" FontSize="18" Foreground="White"/>
  250. </Button>
  251. </Grid>
  252. </Grid>
  253. </Grid>
  254. </UserControl>