<UserControl x:Class="PaperManager.Controls.PapersGrid"
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"
d:DesignHeight="422" d:DesignWidth="642">
<UserControl.Resources>
<Style TargetType="ComboBox">
<Setter Property="Margin" Value="2" />
</Style>
<Style x:Key="StretchedContainerStyle" TargetType="{x:Type ListBoxItem}">
<Setter Property="HorizontalContentAlignment" Value="Stretch" />
</Style>
<Style x:Key="ItemBorderStyle" TargetType="Border">
<Setter Property="BorderBrush" Value="LightGray" />
<Setter Property="BorderThickness" Value="1" />
<Setter Property="CornerRadius" Value="1" />
<Setter Property="Margin" Value="1" />
<Setter Property="Padding" Value="2" />
</Style>
<Style x:Key="HeaderBorderStyle" TargetType="Border" BasedOn="{StaticResource ItemBorderStyle}">
<Setter Property="BorderBrush" Value="#FFFFFF" />
<Setter Property="BorderThickness" Value="0" />
<Setter Property="CornerRadius" Value="0" />
<Setter Property="Margin" Value="-1" />
<Setter Property="Padding" Value="2" />
<Setter Property="Height" Value="35" />
<Setter Property="Background">
<Setter.Value>
<LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
<GradientStop Offset="0" Color="AliceBlue" />
<GradientStop Offset="0.3" Color="LightBlue" />
<GradientStop Offset="0.3" Color="LightBlue" />
<GradientStop Offset="1.3" Color="AliceBlue" />
</LinearGradientBrush>
</Setter.Value>
</Setter>
</Style>
</UserControl.Resources>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="2.5*" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<!-- Headers -->
<Border Style="{StaticResource HeaderBorderStyle}" Grid.Column="0">
<TextBlock Text="Authors" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
<Border Style="{StaticResource HeaderBorderStyle}" Grid.Column="1">
<TextBlock Text="Title" HorizontalAlignment="Center" VerticalAlignment="Center" />
</Border>
<Border Style="{StaticResource HeaderBorderStyle}" Grid.Column="2">
<TextBlock Text="Journal" HorizontalAlignment="Center" VerticalAlignment="Center" />
</Border>
<Border Style="{StaticResource HeaderBorderStyle}" Grid.Column="3">
<TextBlock Text="Categories" HorizontalAlignment="Center" VerticalAlignment="Center" />
</Border>
<!-- Filter ComboBoxes -->
<ComboBox Grid.Row="1" Grid.Column="0" IsEditable="True" Text="{Binding Path=SelectedAuthor, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" ItemsSource="{Binding Path=Authors, UpdateSourceTrigger=PropertyChanged}" IsTextSearchEnabled="False" />
<ComboBox Grid.Row="1" Grid.Column="1" IsEditable="True" Text="{Binding Path=SelectedTitle, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" ItemsSource="{Binding Path=Titles, UpdateSourceTrigger=PropertyChanged}" IsTextSearchEnabled="False" />
<ComboBox Grid.Row="1" Grid.Column="2" IsEditable="True" Text="{Binding Path=SelectedJournal, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" ItemsSource="{Binding Path=Journals, UpdateSourceTrigger=PropertyChanged}" IsTextSearchEnabled="False" />
<ComboBox Grid.Row="1" Grid.Column="3" IsEditable="True" Text="{Binding Path=SelectedCategory, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" ItemsSource="{Binding Path=Categories, UpdateSourceTrigger=PropertyChanged}" IsTextSearchEnabled="False" />
<!-- Grid -->
<ListBox Grid.Row="2" Grid.ColumnSpan="4"
ItemsSource="{Binding Path=Papers, UpdateSourceTrigger=PropertyChanged}"
SelectedItem="{Binding Path=SelectedPaper, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
ItemContainerStyle="{StaticResource StretchedContainerStyle}">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="2.5*" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Border Grid.Column="0" Style="{StaticResource ItemBorderStyle}">
<TextBlock Text="{Binding AllAuthors}" VerticalAlignment="Top" />
</Border>
<Border Grid.Column="1" Style="{StaticResource ItemBorderStyle}">
<TextBlock Text="{Binding Title}" VerticalAlignment="Top" FontWeight="Bold" />
</Border>
<Border Grid.Column="2" Style="{StaticResource ItemBorderStyle}">
<TextBlock Text="{Binding JournalDetails}" VerticalAlignment="Top" />
</Border>
<Border Grid.Column="3" Style="{StaticResource ItemBorderStyle}">
<TextBlock Text="{Binding AllCategories}" VerticalAlignment="Top" />
</Border>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>
</UserControl>