PageRenderTime 47ms CodeModel.GetById 16ms RepoModel.GetById 0ms app.codeStats 0ms

/CBR/CBR/Views/File/RecentFileView.xaml

#
XAML | 119 lines | 113 code | 6 blank | 0 comment | 0 complexity | 145e0143adf0b6ec2362ab340df38fd9 MD5 | raw file
  1. <UserControl x:Class="CBR.Views.RecentFileView"
  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. mc:Ignorable="d"
  7. xmlns:Fluent="clr-namespace:Fluent;assembly=Fluent"
  8. xmlns:Converters="clr-namespace:CBR.Components.Converters"
  9. xmlns:Models="clr-namespace:CBR.Core.Models;assembly=CBR.Core"
  10. d:DesignHeight="300" d:DesignWidth="300" >
  11. <UserControl.Resources>
  12. <DataTemplate x:Key="RecentBookTemplate" DataType="{x:Type Models:RecentFileInfo }">
  13. <Grid Margin="3">
  14. <Grid.ColumnDefinitions>
  15. <ColumnDefinition Width="*"/>
  16. <ColumnDefinition Width="Auto"/>
  17. </Grid.ColumnDefinitions>
  18. <Button Style="{StaticResource CBRButtonStyle}" Tag="{Binding}" HorizontalAlignment="Stretch" Click="BookButton_Click">
  19. <StackPanel Orientation="Horizontal" Margin="5">
  20. <Image Grid.Column="0" Margin="5" Source="/CBR;Component/Resources/Images/32x32/book.png"></Image>
  21. <StackPanel Orientation="Vertical" Grid.Column="1" Margin="5">
  22. <TextBlock Foreground="Black" Text="{Binding FileName}" FontSize="12" FontWeight="Bold" />
  23. <TextBlock Foreground="Black" Text="{Binding FilePath}" FontSize="10" />
  24. </StackPanel>
  25. </StackPanel>
  26. </Button>
  27. <ToggleButton Grid.Column="2" IsChecked="{Binding IsPined}" Margin="5" Style="{StaticResource CBRPinButtonStyle}" />
  28. </Grid>
  29. </DataTemplate>
  30. <DataTemplate x:Key="RecentCatalogTemplate" DataType="{x:Type Models:RecentFileInfo }">
  31. <Grid Margin="3">
  32. <Grid.ColumnDefinitions>
  33. <ColumnDefinition Width="*"/>
  34. <ColumnDefinition Width="Auto"/>
  35. </Grid.ColumnDefinitions>
  36. <Button Style="{StaticResource CBRButtonStyle}" Tag="{Binding}" HorizontalAlignment="Stretch" Click="CatalogButton_Click">
  37. <StackPanel Orientation="Horizontal" Margin="5">
  38. <Image Grid.Column="0" Margin="5" Source="/CBR;Component/Resources/Images/32x32/library_new.png"></Image>
  39. <StackPanel Orientation="Vertical" Grid.Column="1" Margin="5">
  40. <TextBlock Foreground="Black" Text="{Binding FileName}" FontSize="12" FontWeight="Bold" />
  41. <TextBlock Foreground="Black" Text="{Binding FilePath}" FontSize="10" />
  42. </StackPanel>
  43. </StackPanel>
  44. </Button>
  45. <ToggleButton Grid.Column="2" IsChecked="{Binding IsPined}" Margin="5" Style="{StaticResource CBRPinButtonStyle}" />
  46. </Grid>
  47. </DataTemplate>
  48. </UserControl.Resources>
  49. <Grid Margin="15" >
  50. <Grid.ColumnDefinitions>
  51. <ColumnDefinition Width="1*" />
  52. <ColumnDefinition Width="5" />
  53. <ColumnDefinition Width="1*" />
  54. </Grid.ColumnDefinitions>
  55. <Grid VerticalAlignment="Stretch">
  56. <Grid.RowDefinitions>
  57. <RowDefinition Height="Auto" />
  58. <RowDefinition Height="Auto" />
  59. <RowDefinition Height="*" />
  60. </Grid.RowDefinitions>
  61. <TextBlock Style="{StaticResource TitleLabel}" Margin="5" Grid.Row="1"
  62. Text="{LocalizationExtension ResModul=CBR.Backstage, Key=RecentFileView.Files, DefaultValue=Recent files}" />
  63. <Line Style="{StaticResource DashedSeparator}" X1="0" X2="1" Grid.Row="2" VerticalAlignment="Top"
  64. Visibility="{Binding ElementName=CatalogListBox, Path=Items.Count, Converter={x:Static Converters:IntToVisibilityConverter.Instance}, ConverterParameter=true, Mode=OneWay}" />
  65. <ScrollViewer CanContentScroll="True" VerticalScrollBarVisibility="Auto" Grid.Row="3">
  66. <ItemsControl BorderThickness="0" Margin="10,0,10,10"
  67. VirtualizingStackPanel.IsVirtualizing="True"
  68. Name="BookListBox"
  69. ItemsSource="{Binding RecentBooks}"
  70. ItemTemplate="{StaticResource RecentBookTemplate}">
  71. <ItemsControl.GroupStyle>
  72. <GroupStyle>
  73. <GroupStyle.HeaderTemplate>
  74. <DataTemplate>
  75. <Line Style="{StaticResource DashedSeparator}" X1="0" X2="1" />
  76. </DataTemplate>
  77. </GroupStyle.HeaderTemplate>
  78. </GroupStyle>
  79. </ItemsControl.GroupStyle>
  80. </ItemsControl>
  81. </ScrollViewer>
  82. </Grid>
  83. <Line Grid.Column="1" X1="0" Y2="1" Style="{StaticResource VerticalSeparator}" />
  84. <Grid Grid.Column="2" VerticalAlignment="Stretch">
  85. <Grid.RowDefinitions>
  86. <RowDefinition Height="Auto" />
  87. <RowDefinition Height="Auto" />
  88. <RowDefinition Height="*" />
  89. </Grid.RowDefinitions>
  90. <TextBlock Style="{StaticResource TitleLabel}" Margin="5" Grid.Row="1"
  91. Text="{LocalizationExtension ResModul=CBR.Backstage, Key=RecentFileView.Libraries, DefaultValue=Recent libraries}" />
  92. <Line Style="{StaticResource DashedSeparator}" X1="0" X2="1" Grid.Row="2" VerticalAlignment="Top"
  93. Visibility="{Binding ElementName=CatalogListBox, Path=Items.Count, Converter={x:Static Converters:IntToVisibilityConverter.Instance}, ConverterParameter=true, Mode=OneWay}" />
  94. <ScrollViewer CanContentScroll="True" VerticalScrollBarVisibility="Auto" Grid.Row="3" Margin="0,0,0,100">
  95. <ItemsControl BorderThickness="0" Margin="10,0,10,10"
  96. VirtualizingStackPanel.IsVirtualizing="True"
  97. Name="CatalogListBox"
  98. ItemsSource="{Binding RecentCatalogs}"
  99. ItemTemplate="{StaticResource RecentCatalogTemplate}" >
  100. <ItemsControl.GroupStyle>
  101. <GroupStyle>
  102. <GroupStyle.HeaderTemplate>
  103. <DataTemplate>
  104. <Line Style="{StaticResource DashedSeparator}" X1="0" X2="1" />
  105. </DataTemplate>
  106. </GroupStyle.HeaderTemplate>
  107. </GroupStyle>
  108. </ItemsControl.GroupStyle>
  109. </ItemsControl>
  110. </ScrollViewer>
  111. </Grid>
  112. </Grid>
  113. </UserControl>