|
<UserControl x:Class="CBR.Views.RecentFileView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d"
xmlns:Fluent="clr-namespace:Fluent;assembly=Fluent"
xmlns:Converters="clr-namespace:CBR.Components.Converters"
xmlns:Models="clr-namespace:CBR.Core.Models;assembly=CBR.Core"
d:DesignHeight="300" d:DesignWidth="300" >
<UserControl.Resources>
<DataTemplate x:Key="RecentBookTemplate" DataType="{x:Type Models:RecentFileInfo }">
<Grid Margin="3">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Button Style="{StaticResource CBRButtonStyle}" Tag="{Binding}" HorizontalAlignment="Stretch" Click="BookButton_Click">
<StackPanel Orientation="Horizontal" Margin="5">
<Image Grid.Column="0" Margin="5" Source="/CBR;Component/Resources/Images/32x32/book.png"></Image>
<StackPanel Orientation="Vertical" Grid.Column="1" Margin="5">
<TextBlock Foreground="Black" Text="{Binding FileName}" FontSize="12" FontWeight="Bold" />
<TextBlock Foreground="Black" Text="{Binding FilePath}" FontSize="10" />
</StackPanel>
</StackPanel>
</Button>
<ToggleButton Grid.Column="2" IsChecked="{Binding IsPined}" Margin="5" Style="{StaticResource CBRPinButtonStyle}" />
</Grid>
</DataTemplate>
<DataTemplate x:Key="RecentCatalogTemplate" DataType="{x:Type Models:RecentFileInfo }">
<Grid Margin="3">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Button Style="{StaticResource CBRButtonStyle}" Tag="{Binding}" HorizontalAlignment="Stretch" Click="CatalogButton_Click">
<StackPanel Orientation="Horizontal" Margin="5">
<Image Grid.Column="0" Margin="5" Source="/CBR;Component/Resources/Images/32x32/library_new.png"></Image>
<StackPanel Orientation="Vertical" Grid.Column="1" Margin="5">
<TextBlock Foreground="Black" Text="{Binding FileName}" FontSize="12" FontWeight="Bold" />
<TextBlock Foreground="Black" Text="{Binding FilePath}" FontSize="10" />
</StackPanel>
</StackPanel>
</Button>
<ToggleButton Grid.Column="2" IsChecked="{Binding IsPined}" Margin="5" Style="{StaticResource CBRPinButtonStyle}" />
</Grid>
</DataTemplate>
</UserControl.Resources>
<Grid Margin="15" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*" />
<ColumnDefinition Width="5" />
<ColumnDefinition Width="1*" />
</Grid.ColumnDefinitions>
<Grid VerticalAlignment="Stretch">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<TextBlock Style="{StaticResource TitleLabel}" Margin="5" Grid.Row="1">Recent files</TextBlock>
<Line Style="{StaticResource DashedSeparator}" X1="0" X2="1" Grid.Row="2" VerticalAlignment="Top"
Visibility="{Binding ElementName=CatalogListBox, Path=Items.Count, Converter={x:Static Converters:IntToVisibilityConverter.Instance}, ConverterParameter=true, Mode=OneWay}" />
<ScrollViewer CanContentScroll="True" VerticalScrollBarVisibility="Auto" Grid.Row="3">
<ItemsControl BorderThickness="0" Margin="10,0,10,10"
VirtualizingStackPanel.IsVirtualizing="True"
Name="BookListBox"
ItemsSource="{Binding RecentBooks}"
ItemTemplate="{StaticResource RecentBookTemplate}">
<ItemsControl.GroupStyle>
<GroupStyle>
<GroupStyle.HeaderTemplate>
<DataTemplate>
<Line Style="{StaticResource DashedSeparator}" X1="0" X2="1" />
</DataTemplate>
</GroupStyle.HeaderTemplate>
</GroupStyle>
</ItemsControl.GroupStyle>
</ItemsControl>
</ScrollViewer>
</Grid>
<Line Grid.Column="1" X1="0" Y2="1" Style="{StaticResource VerticalSeparator}" />
<Grid Grid.Column="2" VerticalAlignment="Stretch">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<TextBlock Style="{StaticResource TitleLabel}" Margin="5" Grid.Row="1">Recent libraries</TextBlock>
<Line Style="{StaticResource DashedSeparator}" X1="0" X2="1" Grid.Row="2" VerticalAlignment="Top"
Visibility="{Binding ElementName=CatalogListBox, Path=Items.Count, Converter={x:Static Converters:IntToVisibilityConverter.Instance}, ConverterParameter=true, Mode=OneWay}" />
<ScrollViewer CanContentScroll="True" VerticalScrollBarVisibility="Auto" Grid.Row="3" Margin="0,0,0,100">
<ItemsControl BorderThickness="0" Margin="10,0,10,10"
VirtualizingStackPanel.IsVirtualizing="True"
Name="CatalogListBox"
ItemsSource="{Binding RecentCatalogs}"
ItemTemplate="{StaticResource RecentCatalogTemplate}" >
<ItemsControl.GroupStyle>
<GroupStyle>
<GroupStyle.HeaderTemplate>
<DataTemplate>
<Line Style="{StaticResource DashedSeparator}" X1="0" X2="1" />
</DataTemplate>
</GroupStyle.HeaderTemplate>
</GroupStyle>
</ItemsControl.GroupStyle>
</ItemsControl>
</ScrollViewer>
</Grid>
</Grid>
</UserControl>
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
WPF and MVVM fan, I practice C # in all its forms from the beginning of the NET Framework without mentioning C ++ / MFC and other software packages such as databases, ASP, WCF, Web & Windows services, Application, and now Core and UWP.
In my wasted hours, I am guilty of having fathered C.B.R. and its cousins C.B.R. for WinRT and UWP on the Windows store.
But apart from that, I am a great handyman ... the house, a rocket stove to heat the jacuzzi and the last one: a wood oven for pizza, bread, and everything that goes inside
https://guillaumewaser.wordpress.com/
https://fouretcompagnie.wordpress.com/