<UserControl
    x:Class="DownKyi.Views.ViewMyToViewVideo"
    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}" />
                                </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" />

                            <StackPanel
                                Grid.Column="1"
                                Margin="20,0"
                                Orientation="Vertical">
                                <TextBlock
                                    Name="nameTitle"
                                    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>

                                <StackPanel
                                    Name="nameUp"
                                    Margin="0,40,0,0"
                                    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
                                        Width="24"
                                        Height="24"
                                        HorizontalAlignment="Center"
                                        VerticalAlignment="Center"
                                        CornerRadius="12">
                                        <Border.Background>
                                            <ImageBrush ImageSource="{Binding UpHeader}" />
                                        </Border.Background>
                                    </Border>
                                    <TextBlock
                                        Name="nameUpName"
                                        Margin="10,0,0,0"
                                        HorizontalAlignment="Center"
                                        VerticalAlignment="Center"
                                        Foreground="{DynamicResource BrushTextGrey}"
                                        Text="{Binding UpName}" />
                                </StackPanel>
                            </StackPanel>

                            <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="{DynamicResource BrushPrimary}" />
                            </Trigger>
                            <Trigger SourceName="nameUp" Property="IsMouseOver" Value="True">
                                <Setter TargetName="nameUpName" Property="Foreground" Value="{DynamicResource BrushPrimary}" />
                            </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 MyToView}" />
                </StackPanel>
            </Button>

            <Button
                Grid.Column="2"
                Width="24"
                Height="24"
                Margin="10,5"
                HorizontalAlignment="Right"
                VerticalAlignment="Center"
                Command="{Binding DownloadManagerCommand}"
                Style="{StaticResource ImageBtnStyle}"
                ToolTip="{DynamicResource DownloadManager}">
                <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" 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>