BookmarkContent.xaml 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202
  1. <UserControl
  2. x:Class="PDF_Master.Views.BOTA.BookmarkContent"
  3. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  4. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  5. xmlns:CustomControl="clr-namespace:PDF_Master.CustomControl"
  6. xmlns:bota="clr-namespace:PDF_Master.ViewModels.BOTA"
  7. xmlns:convert="clr-namespace:PDF_Master.DataConvert"
  8. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  9. xmlns:data="clr-namespace:ComPDFKit.PDFDocument;assembly=ComPDFKit.Desk"
  10. xmlns:helper="clr-namespace:PDF_Master.Helper"
  11. xmlns:i="http://schemas.microsoft.com/xaml/behaviors"
  12. xmlns:local="clr-namespace:PDF_Master.Views.BOTA"
  13. xmlns:mainPageLoader="clr-namespace:PDF_Master.Strings.MainPage"
  14. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  15. xmlns:prism="http://prismlibrary.com/"
  16. d:DataContext="{d:DesignInstance Type=bota:BookmarkContentViewModel}"
  17. d:DesignHeight="450"
  18. d:DesignWidth="300"
  19. prism:ViewModelLocator.AutoWireViewModel="True"
  20. mc:Ignorable="d">
  21. <UserControl.Resources>
  22. <ResourceDictionary>
  23. <ResourceDictionary.MergedDictionaries>
  24. <ResourceDictionary Source="pack://application:,,,/Styles/ListViewStyle.xaml" />
  25. <ResourceDictionary Source="pack://application:,,,/Styles/ButtonStyle.xaml" />
  26. </ResourceDictionary.MergedDictionaries>
  27. <convert:BoolToVisible x:Key="BoolToVisibleConvert" />
  28. <convert:UnVisivleConvert x:Key="UnVisivleConvert" />
  29. <convert:ObjectConvert x:Key="ObjectConvert" />
  30. <DataTemplate x:Key="myDataTemplate" DataType="{x:Type data:CPDFBookmark}">
  31. <StackPanel
  32. Name="StackPanel"
  33. HorizontalAlignment="Stretch"
  34. VerticalAlignment="Stretch">
  35. <Grid Name="Grid" Margin="15,5">
  36. <Grid.ColumnDefinitions>
  37. <ColumnDefinition Width="10*" />
  38. <ColumnDefinition Width="90*" />
  39. </Grid.ColumnDefinitions>
  40. <!--<Image
  41. Grid.Column="0"
  42. Width="16"
  43. Height="16"
  44. Source="pack://application:,,,/Resources/BOTA/empty_bookmark.png" />-->
  45. <Path
  46. Grid.Column="0"
  47. Width="16"
  48. Height="16"
  49. Margin="0,9,0,0"
  50. VerticalAlignment="Top"
  51. Data="M3 3.47368C3 2.65979 3.65979 2 4.47368 2H11.5263C12.3402 2 13 2.65979 13 3.47368V14.3044C13 14.9486 12.2314 15.2826 11.7604 14.843L8.50276 11.8026C8.21966 11.5384 7.78034 11.5384 7.49724 11.8026L4.2396 14.843C3.7686 15.2826 3 14.9486 3 14.3044V3.47368Z"
  52. Fill="#94989C">
  53. <Path.RenderTransform>
  54. <TransformGroup>
  55. <TranslateTransform Y="-3" />
  56. </TransformGroup>
  57. </Path.RenderTransform>
  58. </Path>
  59. <Grid Grid.Column="1" Visibility="{Binding ElementName=TxbTitle, Path=Visibility, Mode=TwoWay, Converter={StaticResource UnVisivleConvert}}">
  60. <TextBox
  61. x:Name="TxtTitleInput"
  62. Padding="5"
  63. HorizontalContentAlignment="Left"
  64. Background="White"
  65. BorderThickness="1"
  66. FontSize="14"
  67. Style="{StaticResource TextBoxStyleRadius}"
  68. Text="{Binding Title}"
  69. TextWrapping="Wrap">
  70. <i:Interaction.Triggers>
  71. <i:EventTrigger EventName="KeyDown">
  72. <i:InvokeCommandAction Command="{Binding DataContext.KeyDownCommand, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}" PassEventArgsToCommand="True" />
  73. </i:EventTrigger>
  74. </i:Interaction.Triggers>
  75. </TextBox>
  76. </Grid>
  77. <TextBlock
  78. Name="TxbTitle"
  79. Grid.Column="1"
  80. Padding="5"
  81. Background="Transparent"
  82. FontSize="14"
  83. Text="{Binding Title}"
  84. TextWrapping="Wrap"
  85. Visibility="Visible" />
  86. </Grid>
  87. </StackPanel>
  88. </DataTemplate>
  89. <ContextMenu
  90. x:Key="ContextMenu"
  91. DataContext="{Binding PlacementTarget.Tag, RelativeSource={RelativeSource Self}}"
  92. FontSize="14">
  93. <MenuItem
  94. Click="MenuItemRename_Click"
  95. CommandParameter="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=ContextMenu}, Path=PlacementTarget.DataContext}"
  96. Header="{x:Static mainPageLoader:MainPage.Bookmark_Rename}" />
  97. <MenuItem
  98. Command="{Binding DataContext.EditPageIndexCommand, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
  99. CommandParameter="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=ContextMenu}, Path=PlacementTarget.DataContext}"
  100. Header="{x:Static mainPageLoader:MainPage.Bookmark_Change}" />
  101. <MenuItem Click="MenuItemDeleteCommand_Click" Header="{x:Static mainPageLoader:MainPage.Bookmark_Delete}" />
  102. </ContextMenu>
  103. </ResourceDictionary>
  104. </UserControl.Resources>
  105. <Grid Background="{StaticResource color.sys.layout.mg}">
  106. <Grid.RowDefinitions>
  107. <RowDefinition Height="48" />
  108. <RowDefinition />
  109. </Grid.RowDefinitions>
  110. <Border BorderBrush="{StaticResource color.field.border.norm}" BorderThickness="0,0,0,1">
  111. <Grid MinWidth="190">
  112. <TextBlock
  113. x:Name="TxtTitle"
  114. Margin="16,0,0,0"
  115. HorizontalAlignment="Left"
  116. VerticalAlignment="Center"
  117. FontFamily="Segoe UI"
  118. FontSize="14"
  119. FontWeight="SemiBold"
  120. Foreground="{StaticResource color.sys.text.neutral.lv1}"
  121. Text="Bookmark" />
  122. <Button
  123. Name="BtnAddBookmark"
  124. Width="40"
  125. Height="40"
  126. Margin="0,0,0,0"
  127. HorizontalAlignment="Right"
  128. Click="BtnAddBookmark_Click"
  129. Style="{StaticResource PageEditToolBtn}">
  130. <Path Data="M13.5 8C13.5 11.0376 11.0376 13.5 8 13.5C4.96243 13.5 2.5 11.0376 2.5 8C2.5 4.96243 4.96243 2.5 8 2.5C11.0376 2.5 13.5 4.96243 13.5 8ZM15 8C15 11.866 11.866 15 8 15C4.13401 15 1 11.866 1 8C1 4.13401 4.13401 1 8 1C11.866 1 15 4.13401 15 8ZM7.25005 4.80003V7.25003H4.80005V8.75003H7.25005V11.2H8.75005V8.75003H11.2V7.25003H8.75005V4.80003H7.25005Z" Fill="#616469">
  131. <Path.RenderTransform>
  132. <TransformGroup>
  133. <TranslateTransform Y="-3" />
  134. </TransformGroup>
  135. </Path.RenderTransform>
  136. </Path>
  137. </Button>
  138. </Grid>
  139. </Border>
  140. <Grid Grid.Row="1">
  141. <ListView
  142. Name="BookMarkListView"
  143. HorizontalContentAlignment="Stretch"
  144. Background="{StaticResource color.sys.layout.mg}"
  145. BorderThickness="0"
  146. ItemTemplate="{StaticResource myDataTemplate}"
  147. ItemsSource="{Binding Bookmarklist}"
  148. PreviewMouseDown="BookMarkListView_PreviewMouseDown"
  149. ScrollViewer.HorizontalScrollBarVisibility="Disabled"
  150. SelectionChanged="BookMarkListView_SelectionChanged"
  151. VirtualizingPanel.CacheLength="1"
  152. VirtualizingPanel.CacheLengthUnit="Page"
  153. VirtualizingPanel.IsVirtualizing="True"
  154. VirtualizingPanel.ScrollUnit="Pixel">
  155. <ListView.ItemsPanel>
  156. <ItemsPanelTemplate>
  157. <VirtualizingStackPanel Margin="-5,0,0,0" Background="Transparent" />
  158. </ItemsPanelTemplate>
  159. </ListView.ItemsPanel>
  160. <ListView.ItemContainerStyle>
  161. <Style BasedOn="{StaticResource ListViewItemGraySelectStyle}" TargetType="ListViewItem">
  162. <EventSetter Event="PreviewMouseDown" Handler="ListViewItem_MouseButtonDown" />
  163. <EventSetter Event="LostFocus" Handler="ListViewItem_LostFocus" />
  164. <Setter Property="ContextMenu" Value="{StaticResource ContextMenu}" />
  165. </Style>
  166. </ListView.ItemContainerStyle>
  167. </ListView>
  168. </Grid>
  169. <StackPanel
  170. Name="EmptyPanel"
  171. Grid.RowSpan="2"
  172. Width="150"
  173. VerticalAlignment="Center"
  174. Visibility="{Binding IsEmptyPanelVisibility}">
  175. <Image
  176. Width="128"
  177. Height="128"
  178. Source="pack://application:,,,/Resources/BOTA/empty_bookmark.png" />
  179. <TextBlock
  180. Name="txtEmpty"
  181. Margin="0,12,0,0"
  182. FontFamily="Segoe UI"
  183. FontSize="14"
  184. Foreground="{StaticResource color.sys.text.neutral.lv2}"
  185. Text="{Binding T_EmptyTitle}"
  186. TextAlignment="Center" />
  187. <TextBlock
  188. Name="txtEmpty2"
  189. Margin="0,12,0,0"
  190. FontFamily="Segoe UI"
  191. FontSize="14"
  192. Foreground="{StaticResource color.sys.text.neutral.lv3}"
  193. Text="{Binding T_EmptyContext}"
  194. TextAlignment="Center"
  195. TextWrapping="Wrap" />
  196. </StackPanel>
  197. </Grid>
  198. </UserControl>