<!-- This data template determines how each item in the list should be rendered -->
<DataTemplate x:Key="PodcastListDataTemplate">
<Grid Background="White" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="30"/>
<ColumnDefinition />
<ColumnDefinition Width="105"/>
<ColumnDefinition Width="105"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="30"/>
<RowDefinition Height="30"/>
<RowDefinition Height="2"/>
</Grid.RowDefinitions>
<!-- Background when unread -->
<Rectangle x:Name="backgroundUnread" Visibility="{Binding Read, Converter={StaticResource InvisibilityConverter}}" Grid.RowSpan="3" Fill="White" Grid.ColumnSpan="4" />
<!-- Right fade when unread -->
<Border x:Name="fadeUnread" Margin="0,1" Grid.RowSpan="3" Visibility="{Binding Read, Converter={StaticResource InvisibilityConverter}}" Grid.Column="1" IsHitTestVisible="False" HorizontalAlignment="Right" Width="97" Canvas.ZIndex="1">
<Border.Background>
<LinearGradientBrush StartPoint="0,0.5" EndPoint="1,.5" >
<GradientStop Color="Transparent" Offset="0.258"/>
<GradientStop Color="White" Offset="0.722"/>
</LinearGradientBrush>
</Border.Background>
</Border>
<!-- Background when read -->
<Rectangle x:Name="backgroundRead" Visibility="{Binding Read, Converter={StaticResource VisibilityConverter}}" Grid.RowSpan="3" Fill="#FFE5E5E5" Grid.ColumnSpan="4" />
<!-- Right fade when read -->
<Border x:Name="fadeRead" Margin="0,1" Visibility="{Binding Read, Converter={StaticResource VisibilityConverter}}" Grid.RowSpan="3" Grid.Column="1" IsHitTestVisible="False" HorizontalAlignment="Right" Width="97" Canvas.ZIndex="1">
<Border.Background>
<LinearGradientBrush StartPoint="0,0.5" EndPoint="1,.5" >
<GradientStop Color="Transparent" Offset="0.258"/>
<GradientStop Color="#FFE5E5E5" Offset="0.722"/>
</LinearGradientBrush>
</Border.Background>
</Border>
<!-- Dotted divider -->
<Rectangle x:Name="divider" StrokeDashArray="5,2" Stroke="#FFDADADA" Grid.ColumnSpan="4" Grid.RowSpan="3" />
<Border x:Name="divider2" BorderBrush="White" BorderThickness="1,1,1,0" Grid.ColumnSpan="4" Grid.RowSpan="3" />
<!-- Star -->
<HyperlinkButton x:Name="starHyperlink" VerticalAlignment="Center" HorizontalAlignment="Center" Command="{Binding ListViewModel.ToggleStar, Source={StaticResource Locator}}" CommandParameter="{Binding}" Style="{StaticResource HyperLinkImages}">
<local:Star Height="15" Width="15" Background="Black" Starred="{Binding Starred, Mode=TwoWay}" />
</HyperlinkButton>
<!-- Title (link to details) -->
<HyperlinkButton x:Name="titleHyperlink" HorizontalAlignment="Left" Grid.Column="1" Foreground="{StaticResource TextForecolour}" FontSize="13" FontWeight="Bold" VerticalAlignment="Center" IsTabStop="False" CommandParameter="{Binding}">
<TextBlock Text="{Binding Title}" />
</HyperlinkButton>
<!-- Channel Name -->
<TextBlock Margin="15,0,0,10" Grid.Column="1" Grid.Row="1" Text="{Binding ChannelName}" FontSize="13" Foreground="#FF8B8888" VerticalAlignment="Center"/>
<!-- Published Date -->
<TextBlock Margin="0,2,0,0" Grid.Column="2" Grid.Row="0" Text="{Binding Published, StringFormat=MMM dd HH:mm}" FontWeight="Bold" FontSize="13" Foreground="{StaticResource TextForecolour}" VerticalAlignment="Center" />
<!-- Download Progressbar -->
<HyperlinkButton Visibility="{Binding IsDownloading, Converter={StaticResource VisibilityConverter}, Mode=OneWay}" Grid.Row="0" Grid.Column="3" HorizontalAlignment="Center" VerticalAlignment="Center" CommandParameter="{Binding}" ToolTipService.ToolTip="Click to cancel" Canvas.ZIndex="10" Style="{StaticResource HyperLinkImages}">
<Grid HorizontalAlignment="Center" VerticalAlignment="Center" Grid.Column="2" >
<Rectangle HorizontalAlignment="Left" Width="100" Height="18" Fill="#FFA19F9F" />
<Rectangle Width="{Binding DownloadProgressPercentage}" Height="18" Fill="#FF7C7777" HorizontalAlignment="Left" Visibility="{Binding IsDownloading, Converter={StaticResource VisibilityConverter}, Mode=OneWay}"/>
<TextBlock VerticalAlignment="Center" HorizontalAlignment="Center" Text="{Binding DownloadProgressText, Mode=OneWay}" FontSize="9" Foreground="White" />
<Border Width="100" Height="18" BorderThickness="1" BorderBrush="#FF7C7777" />
</Grid>
</HyperlinkButton>
<!-- Download button -->
<HyperlinkButton Visibility="{Binding CanDownload, Converter={StaticResource VisibilityConverter}, Mode=OneWay}" Grid.Row="0" Grid.Column="3" HorizontalAlignment="Center" VerticalAlignment="Center" CommandParameter="{Binding}" Canvas.ZIndex="10" Style="{StaticResource HyperLinkButton}" Content="DOWNLOAD">
<!-- bind to command throught Locator -->
</HyperlinkButton>
<!-- Downloaded -->
<TextBlock Visibility="{Binding FileExists, Converter={StaticResource VisibilityConverter}}" Grid.Row="0" Grid.Column="3" VerticalAlignment="Center" HorizontalAlignment="Center" Foreground="Gray" Text="DOWNLOADED">
<ToolTipService.ToolTip>
<Grid>
<StackPanel>
<TextBlock Text="file:" Style="{StaticResource Label}"/>
<TextBlock Width="100" Text="{Binding FullPath}" TextWrapping="Wrap"/>
</StackPanel>
</Grid>
</ToolTipService.ToolTip>
</TextBlock>
<!-- Play button -->
<HyperlinkButton x:Name="play" Grid.Column="3" Grid.Row="1" HorizontalAlignment="Center" VerticalAlignment="Center" Opacity="0.2" Style="{StaticResource HyperLinkImages}" CommandParameter="{Binding}" >
<i:Interaction.Triggers>
<i:EventTrigger EventName="MouseEnter">
<ei:ChangePropertyAction PropertyName="Opacity" Value="1"/>
</i:EventTrigger>
<i:EventTrigger EventName="MouseLeave">
<ei:ChangePropertyAction PropertyName="Opacity" Value="0.2"/>
</i:EventTrigger>
</i:Interaction.Triggers>
<Grid>
<Ellipse Height="20" Width="20" Margin="0,0,2,0" Stroke="Black" VerticalAlignment="Bottom"/>
<ed:RegularPolygon InnerRadius="1" PointCount="3" Stretch="Fill" Stroke="Black" Width="10" Height="10" RenderTransformOrigin="0.5,0.5">
<ed:RegularPolygon.RenderTransform>
<CompositeTransform Rotation="90"/>
</ed:RegularPolygon.RenderTransform>
</ed:RegularPolygon>
</Grid>
</HyperlinkButton>
</Grid>
</DataTemplate>