FieldWorkClient/View/Send/DownControl.xaml

226 lines
15 KiB
XML

<UserControl x:Class="Hopetry.View.Send.DownControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:h="https://github.com/HeBianGu"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
d:DesignHeight="450"
d:DesignWidth="800"
mc:Ignorable="d">
<UserControl.Resources>
</UserControl.Resources>
<Grid DataContext="{StaticResource S.ViewModelLocator.Locator}">
<DockPanel Margin="0,0,10,0">
<h:Row DockPanel.Dock="Top" Margin="0 ,8,0,8" Style="{DynamicResource {x:Static h:Row.Column10Key}}">
<Button Grid.Column="0" Content="全部移除"
Margin="10,0"
Visibility="{Binding DownViewModel.Tab1Visibility}"
Command="{Binding DownViewModel.ClearFinishedCommand}"
Style="{DynamicResource {x:Static h:ButtonKeys.Accent}}" />
<Button Grid.Column="0"
Margin="10,0"
Command="{Binding DownViewModel.PauseAllTask}"
Visibility="{Binding DownViewModel.Tab0Visibility}"
Content="全部暂停"
Style="{DynamicResource {x:Static h:ButtonKeys.Accent}}" />
<Button Grid.Column="1" Content="全部取消"
Command="{Binding DownViewModel.StopAllTask}"
Margin="10,0"
Visibility="{Binding DownViewModel.Tab0Visibility}"
Style="{DynamicResource {x:Static h:ButtonKeys.Accent}}" />
</h:Row>
<TabControl h:Cattach.UseSearch="False" SelectedIndex="{Binding DownViewModel.TabIndex, Mode=TwoWay}">
<TabItem Header="{Binding DownViewModel.RunningTaskHeader}">
<ListBox
h:Cattach.UseSearch="True"
h:Cattach.SearchUseHistory="True"
h:Cattach.ItemHeight="Auto"
ItemsSource="{Binding DownViewModel.RunningTasks}"
Style="{DynamicResource {x:Static h:ListBoxKeys.Single}}"
VirtualizingPanel.CacheLength="15"
VirtualizingPanel.CacheLengthUnit="Item"
VirtualizingPanel.IsVirtualizing="True"
VirtualizingPanel.IsVirtualizingWhenGrouping="True"
VirtualizingPanel.ScrollUnit="Pixel"
VirtualizingPanel.VirtualizationMode="Recycling">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid Height="50" Margin="10">
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="30" />
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<TextBlock Grid.RowSpan="2"
HorizontalAlignment="Center"
VerticalAlignment="Center"
FontSize="30"
Style="{DynamicResource {x:Static h:TextBlockKeys.Icon}}"
Text="{Binding FileIcon}" />
<TextBlock Grid.Row="0" Grid.RowSpan="2"
Grid.Column="1"
HorizontalAlignment="Left"
Style="{DynamicResource {x:Static h:TextBlockKeys.Default}}"
Text="{Binding FileName}" />
<TextBlock Grid.Row="0"
Grid.Column="2"
HorizontalAlignment="Right"
Style="{DynamicResource {x:Static h:TextBlockKeys.Default}}"
Text="{Binding DownloadInfo}" />
<!--进度条底-->
<TextBlock Grid.Row="0"
Grid.Column="3"
Style="{DynamicResource {x:Static h:TextBlockKeys.Default}}"
Text="100" />
<!--<ProgressBar Grid.Row="0"
Grid.Column="3"
Maximum="100"
Value="{Binding Progress,Mode=OneWay,UpdateSourceTrigger=PropertyChanged}"
Style="{DynamicResource {x:Static disk:App.WaitingPercent}}">
</ProgressBar>-->
<h:FProgressBar Grid.Row="0" Grid.Column="3"
Height="15"
Maximum="100"
Value="{Binding Progress,Mode=OneWay,UpdateSourceTrigger=PropertyChanged}" />
<TextBlock Grid.Row="1"
Grid.Column="3"
Margin="-3,0"
HorizontalAlignment="Left"
Style="{DynamicResource {x:Static h:TextBlockKeys.Default}}"
Text="{Binding Speed,Mode=OneWay,UpdateSourceTrigger=PropertyChanged}" />
<!--操作-->
<StackPanel Grid.Row="0" Grid.RowSpan="2"
Grid.Column="4"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Orientation="Horizontal">
<Button h:Cattach.Icon="{Binding StartOrPauseIcon}"
Command="{Binding RelativeSource={RelativeSource AncestorType=ListBox},
Path= DataContext.DownViewModel.StartOrPauseDown }"
CommandParameter="{Binding}">
<!--<TextBlock
FontFamily="{DynamicResource {ComponentResourceKey ResourceId=S.FontFamily.Icon, TypeInTargetAssembly={x:Type h:TextBlockKeys}}}"
Text="{Binding StartOrPauseIcon}" />-->
</Button> <!--暂停-->
<Button h:Cattach.Icon="&#xe8a0;" h:Cattach.IconSize="13"
Command="{Binding RelativeSource={RelativeSource AncestorType=ListBox},
Path= DataContext.DownViewModel.CancelDownload }"
CommandParameter="{Binding}" /> <!--取消-->
<Button h:Cattach.Icon="&#xe87a;" h:Cattach.IconSize="15"
Command="{Binding RelativeSource={RelativeSource AncestorType=ListBox},
Path= DataContext.DownViewModel.OpenDownItemFolder }"
CommandParameter="{Binding}" /> <!--打开所在文件夹-->
</StackPanel>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</TabItem>
<TabItem Header="{Binding DownViewModel.FinishedTaskHeader}">
<DockPanel Margin="0,0,10,0">
<h:Row DockPanel.Dock="Top" Margin="0 ,8,0,8">
<Grid Height="50" Margin="10">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="30" />
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<TextBlock Grid.ColumnSpan="2" Grid.Column="0" Text="名称" FontWeight="Bold"
HorizontalAlignment="Center" />
<TextBlock Grid.Column="2" Text="大小" FontWeight="Bold" HorizontalAlignment="Center" />
<TextBlock Grid.Column="3" Text="完成时间" FontWeight="Bold" HorizontalAlignment="Center" />
<TextBlock Grid.Column="4" Text="操作" FontWeight="Bold" HorizontalAlignment="Center" />
</Grid>
</h:Row>
<ListBox
h:Cattach.UseSearch="True"
h:Cattach.SearchUseHistory="True"
h:Cattach.ItemHeight="Auto"
ItemsSource="{Binding DownViewModel.FinishedTasks}"
Style="{DynamicResource {x:Static h:ListBoxKeys.Single}}"
VirtualizingPanel.CacheLength="15"
VirtualizingPanel.CacheLengthUnit="Item"
VirtualizingPanel.IsVirtualizing="True"
VirtualizingPanel.IsVirtualizingWhenGrouping="True"
VirtualizingPanel.ScrollUnit="Pixel"
VirtualizingPanel.VirtualizationMode="Recycling">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid Height="50" Margin="10">
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="30" />
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<TextBlock Grid.RowSpan="2"
HorizontalAlignment="Center"
VerticalAlignment="Center"
FontSize="30"
Style="{DynamicResource {x:Static h:TextBlockKeys.Icon}}"
Text="{Binding FileIcon}" /> <!--文件图标-->
<TextBlock Grid.Row="0" Grid.RowSpan="2"
Grid.Column="1"
HorizontalAlignment="Left"
Style="{DynamicResource {x:Static h:TextBlockKeys.Default}}"
Text="{Binding FileName}" />
<TextBlock Grid.Row="0" Grid.RowSpan="2"
Grid.Column="2"
HorizontalAlignment="Center"
Style="{DynamicResource {x:Static h:TextBlockKeys.Default}}"
Text="{Binding FileSize}" />
<TextBlock Grid.Row="0" Grid.RowSpan="2"
Grid.Column="3"
HorizontalAlignment="Center"
Style="{DynamicResource {x:Static h:TextBlockKeys.Default}}"
Text="{Binding FinishedTime,Mode=OneWay}" />
<!--操作-->
<StackPanel Grid.Row="0" Grid.RowSpan="2"
Grid.Column="4"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Orientation="Horizontal">
<Button h:Cattach.Icon="&#xe87a;" h:Cattach.IconSize="15"
Command="{Binding RelativeSource={RelativeSource AncestorType=ListBox},
Path= DataContext.DownViewModel.OpenDownItemFolder }"
CommandParameter="{Binding}" /> <!--打开所在文件夹-->
</StackPanel>
<Border Grid.RowSpan="11"
Grid.ColumnSpan="11"
Margin="0,0,0,-8"
BorderBrush="{DynamicResource {x:Static h:BrushKeys.BorderBrushDefault}}"
BorderThickness="0,0,0,1" />
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</DockPanel>
</TabItem>
</TabControl>
</DockPanel>
</Grid>
</UserControl>