You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
downkyi/DownKyi/Views/ViewVideoDetail.xaml

731 lines
41 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<UserControl
x:Class="DownKyi.Views.ViewVideoDetail"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:i="http://schemas.microsoft.com/xaml/behaviors"
xmlns:prism="http://prismlibrary.com/"
prism:ViewModelLocator.AutoWireViewModel="True">
<UserControl.Resources>
<!-- 菜单 -->
<ContextMenu x:Key="VideoContextMenu" DataContext="{Binding PlacementTarget.DataContext, RelativeSource={RelativeSource Self}}">
<MenuItem
Command="{Binding DataContext.ParseCommand, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=ListView}}"
CommandParameter="{Binding}"
Header="{DynamicResource Parse}" />
</ContextMenu>
<!-- ListView每个item的样式 -->
<Style x:Key="ListViewItemStyle" TargetType="{x:Type ListViewItem}">
<Setter Property="IsSelected" Value="{Binding IsSelected, Mode=TwoWay}" />
<Setter Property="ContextMenu" Value="{StaticResource VideoContextMenu}" />
<Setter Property="HorizontalContentAlignment" Value="Stretch" />
<Setter Property="Foreground" Value="{DynamicResource BrushTextDark}" />
<Setter Property="BorderThickness" Value="0" />
<Setter Property="Padding" Value="0" />
<Setter Property="Margin" Value="0" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ListViewItem}">
<Border
x:Name="Bd"
Height="50"
Padding="{TemplateBinding Padding}"
Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
SnapsToDevicePixels="True">
<GridViewRowPresenter
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
VerticalAlignment="Center"
Content="{TemplateBinding Content}"
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter TargetName="Bd" Property="Background" Value="{DynamicResource BrushPrimaryTranslucent3}" />
<Setter Property="Foreground" Value="{DynamicResource BrushTextDark}" />
</Trigger>
<Trigger Property="IsSelected" Value="True">
<Setter TargetName="Bd" Property="Background" Value="{DynamicResource BrushPrimaryTranslucent2}" />
<Setter Property="Foreground" Value="{DynamicResource BrushText}" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
<!-- 右键菜单相关 -->
<EventSetter Event="PreviewMouseRightButtonDown" Handler="OnListViewItemPreviewMouseRightButtonDown" />
</Style>
<!-- ListView的样式 -->
<Style x:Key="ListViewStyle" TargetType="{x:Type ListView}">
<Setter Property="ScrollViewer.CanContentScroll" Value="False" />
<Setter Property="ItemContainerStyle" Value="{StaticResource ListViewItemStyle}" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ListView}">
<Border BorderBrush="{DynamicResource BrushBorder}" BorderThickness="1">
<ScrollViewer Padding="{TemplateBinding Padding}" Style="{DynamicResource {x:Static GridView.GridViewScrollViewerStyleKey}}">
<ItemsPresenter SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
</ScrollViewer>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<!-- ListView的header的样式 -->
<Style x:Key="GridViewColumnHeaderStyle" TargetType="{x:Type GridViewColumnHeader}">
<Setter Property="Background" Value="{DynamicResource BrushHeaderGrey}" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type GridViewColumnHeader}">
<Grid SnapsToDevicePixels="True">
<Border
x:Name="HeaderBorder"
Height="30"
Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition MaxHeight="10" />
<RowDefinition />
</Grid.RowDefinitions>
<Border Grid.RowSpan="2" Padding="{TemplateBinding Padding}">
<ContentPresenter
x:Name="HeaderContent"
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
Content="{TemplateBinding Content}"
ContentStringFormat="{TemplateBinding ContentStringFormat}"
ContentTemplate="{TemplateBinding ContentTemplate}"
RecognizesAccessKey="True"
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
</Border>
</Grid>
</Border>
<Canvas>
<Thumb x:Name="PART_HeaderGripper">
<Thumb.Style>
<Style TargetType="{x:Type Thumb}">
<Setter Property="Canvas.Right" Value="-9" />
<Setter Property="Width" Value="18" />
<Setter Property="Height" Value="{Binding ActualHeight, RelativeSource={RelativeSource TemplatedParent}}" />
<Setter Property="Padding" Value="0" />
<Setter Property="Background" Value="White" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Thumb}">
<Border Padding="{TemplateBinding Padding}" Background="Transparent">
<Rectangle
Width="1"
HorizontalAlignment="Center"
Fill="{TemplateBinding Background}" />
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Thumb.Style>
</Thumb>
</Canvas>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter TargetName="HeaderBorder" Property="Background" Value="{DynamicResource BrushPrimaryTranslucent3}" />
<Setter TargetName="PART_HeaderGripper" Property="Background" Value="Transparent" />
<Setter Property="Foreground" Value="{DynamicResource BrushTextDark}" />
</Trigger>
<Trigger Property="IsPressed" Value="True">
<Setter TargetName="HeaderBorder" Property="Background" Value="{DynamicResource BrushPrimaryTranslucent2}" />
<Setter TargetName="PART_HeaderGripper" Property="Visibility" Value="Hidden" />
<Setter Property="Foreground" Value="{DynamicResource BrushText}" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</UserControl.Resources>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="50" />
<RowDefinition Height="10" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Grid Grid.Row="0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="40" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="50" />
</Grid.ColumnDefinitions>
<Button
Grid.Column="0"
Width="24"
Height="24"
Margin="10,5"
VerticalAlignment="Center"
Command="{Binding BackSpaceCommand}"
Style="{StaticResource ImageBtnStyle}">
<ContentControl>
<Path
Width="{Binding ArrowBack.Width}"
Height="{Binding ArrowBack.Height}"
Data="{Binding ArrowBack.Data}"
Fill="{Binding ArrowBack.Fill}"
Stretch="None" />
</ContentControl>
</Button>
<Border
Grid.Column="1"
Height="32"
Margin="0,5,0,5"
BorderBrush="{DynamicResource BrushPrimary}"
BorderThickness="1"
CornerRadius="16">
<TextBox
Margin="16,0,30,0"
VerticalContentAlignment="Center"
BorderThickness="0"
FontSize="12"
Text="{Binding Path=InputText, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}">
<TextBox.InputBindings>
<KeyBinding Key="Enter" Command="{Binding InputCommand}" />
</TextBox.InputBindings>
<TextBox.Resources>
<VisualBrush
x:Key="HintText"
AlignmentX="Left"
Opacity="0.5"
Stretch="None"
TileMode="None">
<VisualBrush.Visual>
<TextBlock Text="{DynamicResource IndexHintTextSimple}" />
</VisualBrush.Visual>
</VisualBrush>
</TextBox.Resources>
<TextBox.Style>
<Style TargetType="TextBox">
<Style.Triggers>
<Trigger Property="Text" Value="{x:Null}">
<Setter Property="Background" Value="{StaticResource HintText}" />
</Trigger>
<Trigger Property="Text" Value="">
<Setter Property="Background" Value="{StaticResource HintText}" />
</Trigger>
</Style.Triggers>
</Style>
</TextBox.Style>
</TextBox>
</Border>
<ContentControl
Grid.Column="1"
Width="24"
Height="24"
Margin="5"
HorizontalAlignment="Right"
VerticalAlignment="Center"
Content="{Binding Loading}"
Visibility="{Binding LoadingVisibility}" />
<Button
Grid.Column="2"
Width="24"
Height="24"
Margin="10,5"
VerticalAlignment="Center"
Command="{Binding DownloadManagerCommand}"
Style="{StaticResource ImageBtnStyle}"
ToolTip="{DynamicResource DownloadManage}">
<ContentControl>
<Path
Width="{Binding DownloadManage.Width}"
Height="{Binding DownloadManage.Height}"
Data="{Binding DownloadManage.Data}"
Fill="{Binding DownloadManage.Fill}"
Stretch="Uniform" />
</ContentControl>
</Button>
</Grid>
<TextBlock Grid.Row="1" Opacity="0.3">
<TextBlock.Background>
<LinearGradientBrush StartPoint="0,0" EndPoint="0,0.5">
<GradientStop Offset="0" Color="#FF000000" />
<GradientStop Offset="1" />
</LinearGradientBrush>
</TextBlock.Background>
</TextBlock>
<Grid Grid.Row="2" Visibility="{Binding ContentVisibility}">
<Grid.RowDefinitions>
<RowDefinition Height="100*" MaxHeight="180" />
<RowDefinition Height="200*" />
</Grid.RowDefinitions>
<DockPanel Grid.Row="0" Margin="10,0">
<Image
MinWidth="150"
MaxWidth="300"
VerticalAlignment="Top"
DockPanel.Dock="Left"
Source="{Binding VideoInfoView.Cover}">
<Image.ContextMenu>
<ContextMenu>
<MenuItem Command="{Binding CopyCoverCommand}" Header="{DynamicResource CopyCover}" />
<MenuItem Command="{Binding CopyCoverUrlCommand}" Header="{DynamicResource CopyCoverUrl}" />
<!-- 复制封面到文件 -->
</ContextMenu>
</Image.ContextMenu>
</Image>
<Grid
Margin="10,0,0,0"
VerticalAlignment="Stretch"
DockPanel.Dock="Left">
<Grid.RowDefinitions>
<RowDefinition Height="70" />
<RowDefinition />
</Grid.RowDefinitions>
<Grid Grid.Row="0">
<!-- 标题、分区、发布时间番剧不显示、播放量、弹幕数量、up主 -->
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition Width="120" />
</Grid.ColumnDefinitions>
<Grid Grid.Column="0">
<Grid.RowDefinitions>
<RowDefinition Height="3*" />
<RowDefinition Height="2*" />
<RowDefinition Height="2*" />
</Grid.RowDefinitions>
<TextBlock
Grid.Row="0"
HorizontalAlignment="Left"
VerticalAlignment="Center"
FontSize="16"
FontWeight="Bold"
Foreground="{DynamicResource BrushTextDark}"
Text="{Binding VideoInfoView.Title}"
TextTrimming="CharacterEllipsis"
ToolTip="{Binding VideoInfoView.Title}" />
<StackPanel
Grid.Row="1"
VerticalAlignment="Center"
Orientation="Horizontal">
<TextBlock
Margin="0,0,10,0"
Foreground="{DynamicResource BrushTextGrey}"
Text="{Binding VideoInfoView.VideoZone}" />
<TextBlock Foreground="{DynamicResource BrushTextGrey}" Text="{Binding VideoInfoView.CreateTime}" />
</StackPanel>
<StackPanel
Grid.Row="2"
VerticalAlignment="Center"
Orientation="Horizontal">
<TextBlock
Margin="0,0,10,0"
Foreground="{DynamicResource BrushTextGrey}"
Text="{Binding VideoInfoView.PlayNumber, StringFormat={}{0}播放}">
<TextBlock.Style>
<Style TargetType="{x:Type TextBlock}">
<Style.Triggers>
<DataTrigger Binding="{Binding VideoInfoView.PlayNumber}" Value="0">
<Setter Property="Visibility" Value="Collapsed" />
</DataTrigger>
<DataTrigger Binding="{Binding VideoInfoView.PlayNumber}" Value="{x:Null}">
<Setter Property="Visibility" Value="Collapsed" />
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
<TextBlock
Margin="0,0,10,0"
Foreground="{DynamicResource BrushTextGrey}"
Text="{Binding VideoInfoView.DanmakuNumber, StringFormat={}{0}弹幕}">
<TextBlock.Style>
<Style TargetType="{x:Type TextBlock}">
<Style.Triggers>
<DataTrigger Binding="{Binding VideoInfoView.DanmakuNumber}" Value="0">
<Setter Property="Visibility" Value="Collapsed" />
</DataTrigger>
<DataTrigger Binding="{Binding VideoInfoView.DanmakuNumber}" Value="{x:Null}">
<Setter Property="Visibility" Value="Collapsed" />
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
<TextBlock
Margin="0,0,10,0"
Foreground="{DynamicResource BrushTextGrey}"
Text="{Binding VideoInfoView.LikeNumber, StringFormat={}{0}点赞}">
<TextBlock.Style>
<Style TargetType="{x:Type TextBlock}">
<Style.Triggers>
<DataTrigger Binding="{Binding VideoInfoView.LikeNumber}" Value="0">
<Setter Property="Visibility" Value="Collapsed" />
</DataTrigger>
<DataTrigger Binding="{Binding VideoInfoView.LikeNumber}" Value="{x:Null}">
<Setter Property="Visibility" Value="Collapsed" />
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
<TextBlock
Margin="0,0,10,0"
Foreground="{DynamicResource BrushTextGrey}"
Text="{Binding VideoInfoView.CoinNumber, StringFormat={}{0}投币}">
<TextBlock.Style>
<Style TargetType="{x:Type TextBlock}">
<Style.Triggers>
<DataTrigger Binding="{Binding VideoInfoView.CoinNumber}" Value="0">
<Setter Property="Visibility" Value="Collapsed" />
</DataTrigger>
<DataTrigger Binding="{Binding VideoInfoView.CoinNumber}" Value="{x:Null}">
<Setter Property="Visibility" Value="Collapsed" />
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
<TextBlock
Margin="0,0,10,0"
Foreground="{DynamicResource BrushTextGrey}"
Text="{Binding VideoInfoView.FavoriteNumber, StringFormat={}{0}收藏}">
<TextBlock.Style>
<Style TargetType="{x:Type TextBlock}">
<Style.Triggers>
<DataTrigger Binding="{Binding VideoInfoView.FavoriteNumber}" Value="0">
<Setter Property="Visibility" Value="Collapsed" />
</DataTrigger>
<DataTrigger Binding="{Binding VideoInfoView.FavoriteNumber}" Value="{x:Null}">
<Setter Property="Visibility" Value="Collapsed" />
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
<TextBlock
Margin="0,0,10,0"
Foreground="{DynamicResource BrushTextGrey}"
Text="{Binding VideoInfoView.ShareNumber, StringFormat={}{0}分享}">
<TextBlock.Style>
<Style TargetType="{x:Type TextBlock}">
<Style.Triggers>
<DataTrigger Binding="{Binding VideoInfoView.ShareNumber}" Value="0">
<Setter Property="Visibility" Value="Collapsed" />
</DataTrigger>
<DataTrigger Binding="{Binding VideoInfoView.ShareNumber}" Value="{x:Null}">
<Setter Property="Visibility" Value="Collapsed" />
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
<TextBlock
Margin="0,0,10,0"
Foreground="{DynamicResource BrushTextGrey}"
Text="{Binding VideoInfoView.ReplyNumber, StringFormat={}{0}评论}">
<TextBlock.Style>
<Style TargetType="{x:Type TextBlock}">
<Style.Triggers>
<DataTrigger Binding="{Binding VideoInfoView.ReplyNumber}" Value="0">
<Setter Property="Visibility" Value="Collapsed" />
</DataTrigger>
<DataTrigger Binding="{Binding VideoInfoView.ReplyNumber}" Value="{x:Null}">
<Setter Property="Visibility" Value="Collapsed" />
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
</StackPanel>
</Grid>
<StackPanel
Name="nameUp"
Grid.Column="1"
Cursor="Hand"
ToolTip="{Binding VideoInfoView.UpName}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="MouseLeftButtonUp">
<i:InvokeCommandAction Command="{Binding}" />
</i:EventTrigger>
</i:Interaction.Triggers>
<Image
Width="48"
Height="48"
Source="{Binding VideoInfoView.UpHeader}">
<Image.Clip>
<EllipseGeometry
Center="24,24"
RadiusX="24"
RadiusY="24" />
</Image.Clip>
</Image>
<TextBlock
Margin="0,2,0,0"
HorizontalAlignment="Center"
Foreground="{DynamicResource BrushTextDark}"
Text="{Binding VideoInfoView.UpName}"
TextTrimming="CharacterEllipsis" />
</StackPanel>
</Grid>
<ScrollViewer
Grid.Row="1"
Margin="0,5,0,0"
VerticalScrollBarVisibility="Auto">
<TextBox
Background="{x:Null}"
BorderBrush="{x:Null}"
BorderThickness="0"
Foreground="{DynamicResource BrushTextDark}"
IsReadOnly="True"
Text="{Binding VideoInfoView.Description}"
TextWrapping="WrapWithOverflow" />
</ScrollViewer>
</Grid>
</DockPanel>
<Grid Grid.Row="1" Margin="10,10,10,10">
<Grid.RowDefinitions>
<RowDefinition Height="auto" />
<RowDefinition Height="*" />
<RowDefinition Height="40" />
</Grid.RowDefinitions>
<!-- 视频的section -->
<ListBox
x:Name="nameVideoSections"
Grid.Row="0"
ItemsSource="{Binding VideoSections, Mode=TwoWay}"
SelectionMode="Single">
<i:Interaction.Triggers>
<i:EventTrigger EventName="SelectionChanged">
<i:InvokeCommandAction Command="{Binding VideoSectionsCommand}" CommandParameter="{Binding ElementName=nameVideoSections, Path=SelectedItem}" />
</i:EventTrigger>
</i:Interaction.Triggers>
<ListBox.Style>
<Style TargetType="{x:Type ListBox}">
<Style.Triggers>
<DataTrigger Binding="{Binding VideoSections.Count}" Value="0">
<Setter Property="Height" Value="0" />
</DataTrigger>
<DataTrigger Binding="{Binding VideoSections.Count}" Value="1">
<Setter Property="Height" Value="0" />
</DataTrigger>
</Style.Triggers>
</Style>
</ListBox.Style>
<ListBox.Template>
<ControlTemplate TargetType="{x:Type ListBox}">
<ScrollViewer HorizontalScrollBarVisibility="Disabled" VerticalScrollBarVisibility="Disabled">
<WrapPanel
IsItemsHost="True"
Orientation="Horizontal"
ScrollViewer.CanContentScroll="True" />
</ScrollViewer>
</ControlTemplate>
</ListBox.Template>
<ListBox.ItemContainerStyle>
<Style TargetType="{x:Type ListBoxItem}">
<Setter Property="IsSelected" Value="{Binding IsSelected, Mode=TwoWay}" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ListBoxItem}">
<Border
Name="Border"
Margin="5,3"
Padding="8,2"
Background="{DynamicResource BrushPrimary}"
CornerRadius="10"
Cursor="Hand">
<ContentPresenter
Name="content"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Content="{Binding Title}" />
</Border>
<ControlTemplate.Triggers>
<!-- 顺序很重要,不能修改 -->
<Trigger Property="IsSelected" Value="False">
<Setter TargetName="Border" Property="Background" Value="{DynamicResource BrushBackgroundGrey}" />
<Setter Property="Foreground" Value="{DynamicResource BrushText}" />
</Trigger>
<Trigger Property="IsMouseOver" Value="True">
<Setter TargetName="Border" Property="Background" Value="{DynamicResource BrushPrimaryTranslucent}" />
<Setter Property="Foreground" Value="{DynamicResource BrushText}" />
</Trigger>
<Trigger Property="IsSelected" Value="True">
<Setter TargetName="Border" Property="Background" Value="{DynamicResource BrushPrimary}" />
<Setter Property="Foreground" Value="{DynamicResource BrushText}" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ListBox.ItemContainerStyle>
</ListBox>
<!-- 视频分P -->
<!--
数据虚拟化
VirtualizingPanel.IsVirtualizing="True"
VirtualizingPanel.IsVirtualizingWhenGrouping="True"
VirtualizingPanel.VirtualizationMode="Recycling"
ScrollViewer.IsDeferredScrollingEnabled="True"
-->
<ListView
Name="nameVideoPages"
Grid.Row="1"
ItemsSource="{Binding ElementName=nameVideoSections, Path=SelectedItem.VideoPages}"
SelectionMode="Extended"
Style="{StaticResource ListViewStyle}"
VirtualizingPanel.IsVirtualizing="True"
VirtualizingPanel.IsVirtualizingWhenGrouping="True">
<i:Interaction.Triggers>
<i:EventTrigger EventName="SelectionChanged">
<i:InvokeCommandAction Command="{Binding VideoPagesCommand}" CommandParameter="{Binding ElementName=nameVideoPages, Path=SelectedItems}" />
</i:EventTrigger>
</i:Interaction.Triggers>
<ListView.InputBindings>
<KeyBinding
Command="{Binding KeySelectAllCommand}"
CommandParameter="{Binding ElementName=nameVideoSections, Path=SelectedItem}"
Gesture="Ctrl+A" />
</ListView.InputBindings>
<ListView.ItemsPanel>
<ItemsPanelTemplate>
<VirtualizingStackPanel />
</ItemsPanelTemplate>
</ListView.ItemsPanel>
<ListView.View>
<GridView ColumnHeaderContainerStyle="{StaticResource GridViewColumnHeaderStyle}">
<GridViewColumn
Width="50"
DisplayMemberBinding="{Binding Order}"
Header="{DynamicResource Order}" />
<GridViewColumn
Width="550"
DisplayMemberBinding="{Binding Name}"
Header="{DynamicResource Name}" />
<GridViewColumn
Width="100"
DisplayMemberBinding="{Binding Duration}"
Header="{DynamicResource Duration}" />
<GridViewColumn Width="100" Header="{DynamicResource AudioQuality}">
<GridViewColumn.CellTemplate>
<DataTemplate>
<Grid>
<ComboBox ItemsSource="{Binding AudioQualityFormatList}" SelectedValue="{Binding AudioQualityFormat}" />
</Grid>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Width="120" Header="{DynamicResource VideoQuality}">
<GridViewColumn.CellTemplate>
<DataTemplate>
<Grid>
<ComboBox
DisplayMemberPath="QualityFormat"
IsSynchronizedWithCurrentItem="True"
ItemsSource="{Binding VideoQualityList, Mode=TwoWay, IsAsync=True}"
SelectedItem="{Binding VideoQuality, Mode=TwoWay}"
SelectedValuePath="Quality" />
</Grid>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Width="120" Header="{DynamicResource VideoCodec}">
<GridViewColumn.CellTemplate>
<DataTemplate>
<Grid>
<ComboBox
IsSynchronizedWithCurrentItem="True"
ItemsSource="{Binding VideoQuality.VideoCodecList, Mode=TwoWay}"
SelectedValue="{Binding VideoQuality.SelectedVideoCodec, Mode=TwoWay}" />
</Grid>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
<Grid Grid.Row="2" Margin="0,10,0,0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="60" />
<ColumnDefinition Width="80" />
<ColumnDefinition Width="140" />
<ColumnDefinition />
<ColumnDefinition Width="100" />
<ColumnDefinition Width="100" />
</Grid.ColumnDefinitions>
<CheckBox
Grid.Column="0"
HorizontalAlignment="Left"
VerticalAlignment="Top"
Command="{Binding SelectAllCommand}"
CommandParameter="{Binding ElementName=nameVideoSections, Path=SelectedItem}"
Content="{DynamicResource SelectAll}"
Foreground="{DynamicResource BrushTextDark}"
IsChecked="{Binding IsSelectAll, Mode=TwoWay}"
Style="{StaticResource CheckBoxStyle}" />
<!-- 考虑将下列两个选项移入设置页面 -->
<!--<CheckBox Grid.Column="1" Content="自动解析" IsChecked="False" Foreground="{DynamicResource BrushTextDark}" Style="{StaticResource CheckBoxStyle}" Margin="0 10 0 0" VerticalAlignment="Top" HorizontalAlignment="Left"/>
<CheckBox Grid.Column="2" Content="解析后自动下载所有" IsChecked="False" Foreground="{DynamicResource BrushTextDark}" Style="{StaticResource CheckBoxStyle}" Margin="0 10 0 0" VerticalAlignment="Top" HorizontalAlignment="Left"/>-->
<Button
Grid.Column="4"
HorizontalAlignment="Right"
VerticalAlignment="Top"
Command="{Binding ParseAllVideoCommand}"
Content="{DynamicResource ParseVideo}"
FontSize="12"
Foreground="{DynamicResource BrushText}"
Style="{StaticResource BtnStyle}" />
<Button
Grid.Column="5"
HorizontalAlignment="Right"
VerticalAlignment="Top"
Command="{Binding AddToDownloadCommand}"
Content="{DynamicResource DownloadSelected}"
FontSize="12"
Foreground="{DynamicResource BrushText}"
Style="{StaticResource BtnStyle}" />
</Grid>
</Grid>
</Grid>
<!-- 没有数据提示 -->
<Image
Grid.Row="2"
Width="256"
Height="256"
Source="/DownKyi;component/Resources/no-data.png"
Visibility="{Binding NoDataVisibility}" />
</Grid>
</UserControl>