RecentFilesContent.xaml 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202
  1. <UserControl x:Class="PDF_Office.Views.HomePanel.RecentFiles.RecentFilesContent"
  2. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  3. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  4. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  5. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  6. xmlns:local="clr-namespace:PDF_Office.Views.HomePanel.RecentFiles"
  7. xmlns:customControl ="clr-namespace:PDF_Office.CustomControl"
  8. xmlns:prism ="http://prismlibrary.com/"
  9. prism:ViewModelLocator.AutoWireViewModel="True"
  10. mc:Ignorable="d" Loaded="UserControl_Loaded"
  11. d:DesignHeight="450" d:DesignWidth="800">
  12. <UserControl.Resources>
  13. <ResourceDictionary>
  14. <ResourceDictionary.MergedDictionaries>
  15. <ResourceDictionary Source="../../../Styles/ListViewStyle.xaml"/>
  16. <ResourceDictionary Source="../../../Styles/CustomBtnStyle.xaml"/>
  17. </ResourceDictionary.MergedDictionaries>
  18. <DataTemplate x:Key="listviewItem">
  19. <local:DocItemListViewControl HorizontalAlignment="Stretch"
  20. />
  21. <!--FileInfoItemHandler="FileInfoMenuItem_Click"
  22. PrintItemHandler="PrintMenuItem_Click"
  23. DeleteItemHandler="DeleteItemHandler_Click"
  24. ShareItemHandler="ShareMenuItem_Click"
  25. FilePathItemHandler ="FilePathMenuItem_Click"-->
  26. </DataTemplate>
  27. <DataTemplate x:Key="gridviewItem">
  28. <local:DocItemControl HorizontalAlignment="Stretch"/>
  29. </DataTemplate>
  30. <ItemsPanelTemplate x:Key="listPanel">
  31. <StackPanel Orientation="Vertical"/>
  32. </ItemsPanelTemplate>
  33. <ItemsPanelTemplate x:Key="gridPanel">
  34. <WrapPanel />
  35. </ItemsPanelTemplate>
  36. <ContextMenu x:Key="FlyoutMenu" FontSize="14"
  37. Opened="ContextMenu_Opened">
  38. <ContextMenu.ItemContainerStyle>
  39. <Style TargetType="MenuItem">
  40. <Setter Property="Padding" Value="0,7,0,7"/>
  41. <Setter Property="VerticalContentAlignment" Value="Center"/>
  42. </Style>
  43. </ContextMenu.ItemContainerStyle>
  44. <MenuItem Name="FilePathMenuItem" Header="FilePath" IsEnabled="True" Click="FilePathMenuItem_Click">
  45. <MenuItem.Icon>
  46. <Path Fill="Black"
  47. Data="M5.24031 1.5H0.5V14.5H15.5V4H7.24031L5.24031 1.5ZM1.5 13.5V2.5H4.75969L6.75969 5H14.5V13.5H1.5ZM4 7.5H12V6.5H4V7.5Z">
  48. <Path.RenderTransform>
  49. <TranslateTransform X="3.0000" Y="0"/>
  50. </Path.RenderTransform>
  51. </Path>
  52. </MenuItem.Icon>
  53. </MenuItem>
  54. <MenuItem Name="DeleteMenuItem" Header="从最近列表删除" IsEnabled="True" Click="DeleteMenuItem_Click">
  55. <MenuItem.Icon>
  56. <Path Fill="Black" Data="M9 0H3V2H0V3H1V14H11V3H12V2H9V0ZM2 13V3H3H4H8H9H10V13H2ZM8 2V1H4V2H8ZM4 12V4H3V12H4ZM6.5 4V12H5.5V4H6.5ZM9 12V4H8V12H9Z">
  57. <Path.RenderTransform>
  58. <TranslateTransform X="5.0000" Y="0"/>
  59. </Path.RenderTransform>
  60. </Path>
  61. </MenuItem.Icon>
  62. </MenuItem>
  63. </ContextMenu>
  64. <Style x:Key="SubFilesListViewItemStyle" BasedOn="{StaticResource FilesListViewItemStyle}" TargetType="{x:Type ListViewItem}">
  65. <Setter Property="ContextMenu" Value="{StaticResource FlyoutMenu}"/>
  66. <Setter Property="HorizontalContentAlignment" Value="Center"/>
  67. <Setter Property="Margin" Value="12,0,0,0"/>
  68. <EventSetter Event="PreviewMouseRightButtonDown"
  69. Handler="ListViewItem_PreviewMouseRightButtonDown"/>
  70. <EventSetter Event="PreviewMouseDoubleClick"
  71. Handler="RecentFilesList_PreviewMouseDoubleClick"/>
  72. </Style>
  73. <Style x:Key="HomeGridViewItemStyle" BasedOn="{StaticResource FilesGridItemStyle}" TargetType="{x:Type ListViewItem}">
  74. <Setter Property="ContextMenu" Value="{StaticResource FlyoutMenu}"/>
  75. <Setter Property="HorizontalContentAlignment" Value="Center"/>
  76. <EventSetter Event="PreviewMouseRightButtonDown"
  77. Handler="ListViewItem_PreviewMouseRightButtonDown"/>
  78. <EventSetter Event="PreviewMouseDoubleClick"
  79. Handler="RecentFilesList_PreviewMouseDoubleClick"/>
  80. </Style>
  81. </ResourceDictionary>
  82. </UserControl.Resources>
  83. <Grid>
  84. <Grid>
  85. <Grid.RowDefinitions>
  86. <RowDefinition Height="Auto"/>
  87. <RowDefinition Height="Auto"/>
  88. <RowDefinition />
  89. </Grid.RowDefinitions>
  90. <Grid x:Name="GridRecentFilesTile" Margin="32,38,0,13">
  91. <TextBlock x:Name="TxbRecentlyTile" Text="Recent" HorizontalAlignment="Left" FontWeight="Semibold" FontSize="24" Padding="0,6,0,0" Margin="0,0,0,0"/>
  92. <StackPanel x:Name="PnlRightBtns" Grid.Column="0" Grid.ColumnSpan="2" Margin="0,0,0,0" Orientation="Horizontal" HorizontalAlignment="Right">
  93. <customControl:CustomIconToggleBtn x:Name="BtnListMode" Tag="ListMode" Width="32" Height="24" Click="ListModeBtn_Click"
  94. Style="{StaticResource ToggleBtnViewModeStyle}">
  95. <StackPanel Orientation="Horizontal" Margin="8,0,8,0">
  96. <Path Fill="Black" Data="M15 2H1V7H15V2ZM14 3V6H2V3H14ZM15 9H1V14H15V9ZM14 10V13H2V10H14Z"/>
  97. </StackPanel>
  98. </customControl:CustomIconToggleBtn>
  99. <customControl:CustomIconToggleBtn x:Name="BtnGridMode" Margin="0" Width="32" Height="24" Tag="GridMode" Click="GridModeBtn_Click"
  100. Style="{StaticResource ToggleBtnViewModeStyle}">
  101. <StackPanel Orientation="Horizontal" Margin="8,0,8,0">
  102. <Path Fill="Black" Data="M7 2H2V7H7V2ZM6 3V6H3V3H6ZM14 2H9V7H14V2ZM13 3V6H10V3H13ZM2 9H7V14H2V9ZM6 13V10H3V13H6ZM14 9H9V14H14V9ZM13 10V13H10V10H13Z"/>
  103. </StackPanel>
  104. </customControl:CustomIconToggleBtn>
  105. <Separator Margin="1 0 1 0" Width="1" Height="16" BorderBrush="#1A000000" BorderThickness="1"/>
  106. <Button x:Name="BtnDelete" Margin="0" Padding="0,0,0,0" MaxHeight="40" Width="20" Height="20" Background="Transparent" BorderThickness="0" Command="{Binding RemoveFilesFromContainerCommand}" CommandParameter="{Binding ElementName=RecentFilesList,Path=SelectedItems}"
  107. >
  108. <StackPanel Orientation="Horizontal">
  109. <StackPanel Orientation="Horizontal" VerticalAlignment="Center" Margin="4,0,4,0">
  110. <Path Fill="Black" VerticalAlignment="Center" Data="M9 0H3V2H0V3H1V14H11V3H12V2H9V0ZM2 13V3H3H4H8H9H10V13H2ZM8 2V1H4V2H8ZM4 12V4H3V12H4ZM6.5 4V12H5.5V4H6.5ZM9 12V4H8V12H9Z"/>
  111. </StackPanel>
  112. </StackPanel>
  113. </Button>
  114. </StackPanel>
  115. </Grid>
  116. <Grid Grid.Row="2">
  117. <Grid.ColumnDefinitions>
  118. <ColumnDefinition Width="799*"/>
  119. <ColumnDefinition Width="*"/>
  120. </Grid.ColumnDefinitions>
  121. <ListView x:Name="RecentFilesList"
  122. ItemsSource="{Binding RecentFilesGroup}"
  123. Margin="32,0,0,0"
  124. VirtualizingPanel.IsVirtualizing="True"
  125. VirtualizingPanel.CacheLengthUnit="Page"
  126. VirtualizingPanel.CacheLength="1"
  127. VirtualizingPanel.ScrollUnit="Pixel"
  128. ScrollViewer.HorizontalScrollBarVisibility="Disabled"
  129. ScrollViewer.VerticalScrollBarVisibility="Auto"
  130. Background="Transparent" BorderThickness="0"
  131. Padding="0,0,0,0" MinHeight="216" MinWidth="380"
  132. SelectionMode="Multiple"
  133. SelectionChanged="RecentFilesList_SelectionChanged"
  134. ItemContainerStyle="{StaticResource SubFilesListViewItemStyle}"
  135. Style="{StaticResource FilesListViewStyle}"
  136. ItemTemplate="{StaticResource listviewItem}"
  137. ItemsPanel="{StaticResource listPanel}" Grid.ColumnSpan="2"
  138. >
  139. </ListView>
  140. <ListView x:Name="GridRecentFilesList"
  141. ItemsSource="{Binding RecentFilesGroup}"
  142. Margin="32,0,0,0" Visibility="Collapsed"
  143. VirtualizingPanel.IsVirtualizing="True"
  144. VirtualizingPanel.CacheLengthUnit="Page"
  145. VirtualizingPanel.CacheLength="1"
  146. VirtualizingPanel.ScrollUnit="Pixel"
  147. ScrollViewer.HorizontalScrollBarVisibility="Disabled"
  148. ScrollViewer.VerticalScrollBarVisibility="Auto"
  149. Background="Transparent" BorderThickness="0"
  150. Padding="0,0,0,0" MinHeight="216" MinWidth="380"
  151. SelectionMode="Multiple"
  152. SelectionChanged="GridRecentFilesList_SelectionChanged"
  153. ItemContainerStyle="{StaticResource HomeGridViewItemStyle}"
  154. Style="{StaticResource FilesGridViewStyle}"
  155. ItemTemplate="{StaticResource gridviewItem}"
  156. ItemsPanel="{StaticResource gridPanel}" Grid.ColumnSpan="2"
  157. >
  158. </ListView>
  159. </Grid>
  160. <StackPanel x:Name="BlankContentPanel" Grid.Row="1" Grid.RowSpan="2" HorizontalAlignment="Center" VerticalAlignment="Center" Visibility="Collapsed">
  161. <!--<Image Source="../../Resources/Image/Home/empty_recent2x.png" Width="140" Height="140" Stretch="Uniform" VerticalAlignment="Center"/>-->
  162. <TextBlock x:Name="NoFilesText" Text="No documents" TextAlignment="Center" HorizontalAlignment="Center" FontSize="16" LineHeight="22" Foreground="#FF333333" FontFamily="Segoe UI" />
  163. <StackPanel Orientation="Horizontal" Margin="0,12,0,0">
  164. <TextBlock x:Name="clickFileText" Text="Drop documents here or click the '" Foreground="#FF999999" VerticalAlignment="Center" FontSize="14"/>
  165. <TextBlock Margin="2,0,2,0" VerticalAlignment="Center" FontSize="15">
  166. <Hyperlink Click="OpenFiles_Click">
  167. <TextBlock x:Name="OpenFilesLinkText" Text="Open Files"/>
  168. </Hyperlink>
  169. </TextBlock>
  170. <TextBlock x:Name="dropFileText" Text="' button in the Sidebar" Foreground="#FF999999" VerticalAlignment="Center" FontSize="14"/>
  171. </StackPanel>
  172. </StackPanel>
  173. </Grid>
  174. </Grid>
  175. </UserControl>