mirror of
https://github.com/leiurayer/downkyi.git
synced 2025-03-23 07:40:12 +08:00
363 lines
18 KiB
XML
363 lines
18 KiB
XML
<UserControl
|
||
x:Class="DownKyi.Views.ViewMyHistory"
|
||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||
xmlns:custom="clr-namespace:DownKyi.CustomControl"
|
||
xmlns:i="http://schemas.microsoft.com/xaml/behaviors"
|
||
xmlns:prism="http://prismlibrary.com/"
|
||
prism:ViewModelLocator.AutoWireViewModel="True">
|
||
<UserControl.Resources>
|
||
<Style x:Key="MediaListStyle" TargetType="{x:Type ListBoxItem}">
|
||
<Setter Property="IsSelected" Value="{Binding IsSelected}" />
|
||
<Setter Property="Template">
|
||
<Setter.Value>
|
||
<ControlTemplate TargetType="{x:Type ListBoxItem}">
|
||
<Grid
|
||
Name="nameMediaPanel"
|
||
Height="100"
|
||
Margin="20,15,10,5">
|
||
<Grid.ColumnDefinitions>
|
||
<ColumnDefinition Width="160" />
|
||
<ColumnDefinition />
|
||
</Grid.ColumnDefinitions>
|
||
|
||
<Border
|
||
Name="nameCover"
|
||
Grid.Column="0"
|
||
Width="160"
|
||
Height="100"
|
||
HorizontalAlignment="Center"
|
||
CornerRadius="5">
|
||
<Border.Background>
|
||
<!-- 长宽比:1.6 -->
|
||
<ImageBrush ImageSource="{Binding Cover}" Stretch="UniformToFill" />
|
||
</Border.Background>
|
||
</Border>
|
||
|
||
<Image
|
||
Name="nameChecked"
|
||
Grid.Column="0"
|
||
Width="24"
|
||
Height="24"
|
||
Margin="10"
|
||
HorizontalAlignment="Left"
|
||
VerticalAlignment="Top"
|
||
Source="/DownKyi;component/Resources/checked.png" />
|
||
|
||
<Grid Grid.Column="1" Margin="20,0,0,5">
|
||
<Grid.RowDefinitions>
|
||
<RowDefinition />
|
||
<RowDefinition />
|
||
<RowDefinition />
|
||
</Grid.RowDefinitions>
|
||
|
||
<TextBlock
|
||
Name="nameTitle"
|
||
Grid.Row="0"
|
||
HorizontalAlignment="Left"
|
||
VerticalAlignment="Top"
|
||
Cursor="Hand"
|
||
FontSize="14"
|
||
FontWeight="Bold"
|
||
Text="{Binding Title}"
|
||
TextTrimming="CharacterEllipsis"
|
||
ToolTip="{Binding Title}">
|
||
<i:Interaction.Triggers>
|
||
<i:EventTrigger EventName="MouseLeftButtonUp">
|
||
<i:InvokeCommandAction Command="{Binding TitleCommand}" CommandParameter="{Binding DataContext.PageName, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=UserControl}}" />
|
||
</i:EventTrigger>
|
||
</i:Interaction.Triggers>
|
||
</TextBlock>
|
||
|
||
<TextBlock
|
||
Grid.Row="1"
|
||
FontSize="12"
|
||
Foreground="{DynamicResource BrushTextGrey}"
|
||
Text="{Binding SubTitle}" />
|
||
|
||
<Grid Grid.Row="2">
|
||
<Grid.ColumnDefinitions>
|
||
<ColumnDefinition Width="300" />
|
||
<ColumnDefinition />
|
||
</Grid.ColumnDefinitions>
|
||
|
||
<StackPanel Grid.Column="0" Orientation="Horizontal">
|
||
<ContentControl
|
||
Width="16"
|
||
Height="16"
|
||
HorizontalAlignment="Center"
|
||
VerticalAlignment="Center">
|
||
<Path
|
||
Width="{Binding Platform.Width}"
|
||
Height="{Binding Platform.Height}"
|
||
Data="{Binding Platform.Data}"
|
||
Fill="{DynamicResource BrushTextGrey}"
|
||
Stretch="Uniform" />
|
||
</ContentControl>
|
||
|
||
<TextBlock
|
||
Margin="10,0,0,0"
|
||
HorizontalAlignment="Center"
|
||
VerticalAlignment="Center"
|
||
FontSize="12"
|
||
Foreground="{DynamicResource BrushTextGrey}"
|
||
Text="{Binding Progress}" />
|
||
<StackPanel Orientation="Horizontal" Visibility="{Binding PartdescVisibility}">
|
||
<TextBlock
|
||
Margin="10,0,0,0"
|
||
HorizontalAlignment="Center"
|
||
VerticalAlignment="Center"
|
||
FontSize="12"
|
||
Foreground="{DynamicResource BrushTextGrey}"
|
||
Text="|" />
|
||
<TextBlock
|
||
Margin="10,0,0,0"
|
||
HorizontalAlignment="Center"
|
||
VerticalAlignment="Center"
|
||
FontSize="12"
|
||
Foreground="{DynamicResource BrushTextGrey}"
|
||
Text="{Binding Partdesc}" />
|
||
</StackPanel>
|
||
</StackPanel>
|
||
|
||
<StackPanel
|
||
Grid.Column="1"
|
||
Orientation="Horizontal"
|
||
Visibility="{Binding UpAndTagVisibility}">
|
||
<StackPanel
|
||
Name="nameUpper"
|
||
Cursor="Hand"
|
||
Orientation="Horizontal">
|
||
<i:Interaction.Triggers>
|
||
<i:EventTrigger EventName="MouseLeftButtonUp">
|
||
<i:InvokeCommandAction Command="{Binding UpCommand}" CommandParameter="{Binding DataContext.PageName, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=UserControl}}" />
|
||
</i:EventTrigger>
|
||
</i:Interaction.Triggers>
|
||
<Border
|
||
Name="nameUpperHeader"
|
||
Width="24"
|
||
Height="24"
|
||
HorizontalAlignment="Center"
|
||
VerticalAlignment="Center"
|
||
CornerRadius="12">
|
||
<Border.Background>
|
||
<ImageBrush ImageSource="{Binding UpHeader}" />
|
||
</Border.Background>
|
||
</Border>
|
||
<TextBlock
|
||
Name="nameUpperName"
|
||
Margin="10,0,0,0"
|
||
HorizontalAlignment="Center"
|
||
VerticalAlignment="Center"
|
||
FontSize="12"
|
||
Foreground="{DynamicResource BrushTextGrey}"
|
||
Text="{Binding UpName}" />
|
||
</StackPanel>
|
||
<TextBlock
|
||
Margin="10,0,0,0"
|
||
HorizontalAlignment="Center"
|
||
VerticalAlignment="Center"
|
||
FontSize="12"
|
||
Foreground="{DynamicResource BrushTextGrey}"
|
||
Text="|" />
|
||
<TextBlock
|
||
Margin="10,0,0,0"
|
||
HorizontalAlignment="Center"
|
||
VerticalAlignment="Center"
|
||
FontSize="12"
|
||
Foreground="{DynamicResource BrushTextGrey}"
|
||
Text="{Binding TagName}" />
|
||
</StackPanel>
|
||
</Grid>
|
||
</Grid>
|
||
|
||
<TextBlock
|
||
Grid.Column="1"
|
||
Height="1"
|
||
Margin="20,0,20,0"
|
||
VerticalAlignment="Bottom"
|
||
Background="{DynamicResource BrushBorderTranslucent}" />
|
||
</Grid>
|
||
<ControlTemplate.Triggers>
|
||
<Trigger Property="IsSelected" Value="True">
|
||
<Setter TargetName="nameChecked" Property="Visibility" Value="Visible" />
|
||
</Trigger>
|
||
<Trigger Property="IsSelected" Value="False">
|
||
<Setter TargetName="nameChecked" Property="Visibility" Value="Hidden" />
|
||
</Trigger>
|
||
<Trigger SourceName="nameTitle" Property="IsMouseOver" Value="True">
|
||
<Setter TargetName="nameTitle" Property="Foreground" Value="#FF00A1D6" />
|
||
</Trigger>
|
||
<Trigger SourceName="nameUpper" Property="IsMouseOver" Value="True">
|
||
<Setter TargetName="nameUpperName" Property="Foreground" Value="#FF00A1D6" />
|
||
</Trigger>
|
||
</ControlTemplate.Triggers>
|
||
</ControlTemplate>
|
||
</Setter.Value>
|
||
</Setter>
|
||
</Style>
|
||
</UserControl.Resources>
|
||
|
||
<Grid>
|
||
<Grid.RowDefinitions>
|
||
<RowDefinition Height="50" />
|
||
<RowDefinition Height="1" />
|
||
<RowDefinition Height="*" />
|
||
</Grid.RowDefinitions>
|
||
|
||
<Grid Grid.Row="0">
|
||
<Grid.ColumnDefinitions>
|
||
<ColumnDefinition Width="100" />
|
||
<ColumnDefinition Width="*" />
|
||
<ColumnDefinition Width="100" />
|
||
</Grid.ColumnDefinitions>
|
||
|
||
<Button
|
||
Grid.Column="0"
|
||
Margin="10,5,0,5"
|
||
HorizontalAlignment="Left"
|
||
VerticalAlignment="Center"
|
||
Command="{Binding BackSpaceCommand}"
|
||
Style="{StaticResource ImageBtnStyle}">
|
||
<StackPanel Orientation="Horizontal">
|
||
<ContentControl Width="24" Height="24">
|
||
<Path
|
||
Width="{Binding ArrowBack.Width}"
|
||
Height="{Binding ArrowBack.Height}"
|
||
Data="{Binding ArrowBack.Data}"
|
||
Fill="{Binding ArrowBack.Fill}"
|
||
Stretch="None" />
|
||
</ContentControl>
|
||
<TextBlock
|
||
VerticalAlignment="Center"
|
||
FontSize="16"
|
||
Foreground="{DynamicResource BrushTextDark}"
|
||
Text="{DynamicResource MyHistory}" />
|
||
</StackPanel>
|
||
</Button>
|
||
</Grid>
|
||
|
||
<TextBlock Grid.Row="1" Background="{DynamicResource BrushBorder}" />
|
||
|
||
<Grid Grid.Row="2" Visibility="{Binding ContentVisibility}">
|
||
<Grid.RowDefinitions>
|
||
<RowDefinition />
|
||
<RowDefinition Height="1" />
|
||
<RowDefinition Height="50" />
|
||
</Grid.RowDefinitions>
|
||
|
||
<ListBox
|
||
x:Name="nameMedias"
|
||
Grid.Row="0"
|
||
BorderThickness="0"
|
||
ItemContainerStyle="{StaticResource MediaListStyle}"
|
||
ItemsSource="{Binding Medias}"
|
||
ScrollViewer.CanContentScroll="False"
|
||
ScrollViewer.HorizontalScrollBarVisibility="Disabled"
|
||
SelectionMode="Extended">
|
||
<i:Interaction.Triggers>
|
||
<i:EventTrigger EventName="SelectionChanged">
|
||
<i:InvokeCommandAction Command="{Binding MediasCommand}" CommandParameter="{Binding ElementName=nameMedias, Path=SelectedItems}" />
|
||
</i:EventTrigger>
|
||
</i:Interaction.Triggers>
|
||
<ListBox.ItemsPanel>
|
||
<ItemsPanelTemplate>
|
||
<StackPanel IsItemsHost="True" />
|
||
</ItemsPanelTemplate>
|
||
</ListBox.ItemsPanel>
|
||
<ListBox.Style>
|
||
<Style TargetType="{x:Type ListBox}">
|
||
<Setter Property="Template">
|
||
<Setter.Value>
|
||
<ControlTemplate TargetType="{x:Type ListBox}">
|
||
<Border
|
||
x:Name="Bd"
|
||
Padding="0"
|
||
Background="{TemplateBinding Background}"
|
||
BorderBrush="{TemplateBinding BorderBrush}"
|
||
BorderThickness="{TemplateBinding BorderThickness}">
|
||
<ScrollViewer Focusable="False">
|
||
<ItemsPresenter />
|
||
</ScrollViewer>
|
||
</Border>
|
||
</ControlTemplate>
|
||
</Setter.Value>
|
||
</Setter>
|
||
</Style>
|
||
</ListBox.Style>
|
||
</ListBox>
|
||
|
||
<TextBlock Grid.Row="1" Background="{DynamicResource BrushBorder}" />
|
||
|
||
<Grid Grid.Row="2">
|
||
<Grid.ColumnDefinitions>
|
||
<ColumnDefinition Width="80" />
|
||
<ColumnDefinition />
|
||
<ColumnDefinition Width="100" />
|
||
<ColumnDefinition Width="80" />
|
||
</Grid.ColumnDefinitions>
|
||
|
||
<CheckBox
|
||
Grid.Column="0"
|
||
Margin="10,0,0,0"
|
||
HorizontalAlignment="Left"
|
||
VerticalAlignment="Center"
|
||
Command="{Binding SelectAllCommand}"
|
||
CommandParameter="{Binding ElementName=nameMedias, Path=SelectedItem}"
|
||
Content="{DynamicResource SelectAll}"
|
||
Foreground="{DynamicResource BrushTextDark}"
|
||
IsChecked="{Binding IsSelectAll, Mode=TwoWay}"
|
||
Style="{StaticResource CheckBoxStyle}" />
|
||
|
||
<Button
|
||
Grid.Column="2"
|
||
Margin="0,0,10,0"
|
||
HorizontalAlignment="Right"
|
||
VerticalAlignment="Center"
|
||
Command="{Binding AddToDownloadCommand}"
|
||
Content="{DynamicResource DownloadSelectedPublication}"
|
||
FontSize="12"
|
||
Foreground="{DynamicResource BrushText}"
|
||
Style="{StaticResource BtnStyle}" />
|
||
|
||
<Button
|
||
Grid.Column="3"
|
||
Margin="0,0,10,0"
|
||
HorizontalAlignment="Right"
|
||
VerticalAlignment="Center"
|
||
Command="{Binding AddAllToDownloadCommand}"
|
||
Content="{DynamicResource DownloadAllPublication}"
|
||
FontSize="12"
|
||
Foreground="{DynamicResource BrushText}"
|
||
Style="{StaticResource BtnStyle}" />
|
||
</Grid>
|
||
</Grid>
|
||
|
||
<!-- 加载gif -->
|
||
<StackPanel
|
||
Grid.Row="2"
|
||
HorizontalAlignment="Center"
|
||
VerticalAlignment="Center"
|
||
Orientation="Vertical"
|
||
Visibility="{Binding LoadingVisibility}">
|
||
<ContentControl
|
||
Width="40"
|
||
Height="40"
|
||
Content="{Binding Loading}" />
|
||
<TextBlock
|
||
Margin="0,10,0,0"
|
||
FontSize="14"
|
||
Foreground="{DynamicResource BrushTextDark}"
|
||
Text="{DynamicResource PublicationWait}" />
|
||
</StackPanel>
|
||
|
||
<!-- 没有数据提示 -->
|
||
<Image
|
||
Grid.Row="2"
|
||
Width="256"
|
||
Height="256"
|
||
Source="/DownKyi;component/Resources/no-data.png"
|
||
Visibility="{Binding NoDataVisibility}" />
|
||
</Grid>
|
||
</UserControl>
|