待上传加全选

dev2.0
洁 任 2025-07-05 13:59:04 +08:00
parent e743a4333c
commit 06c6bbc288
2 changed files with 31 additions and 9 deletions

View File

@ -37,12 +37,16 @@
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" HorizontalAlignment="Center" VerticalAlignment="Center"
FontWeight="Bold" Text="选择" />
<TextBlock Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center" FontWeight="Bold" Text="文件名称" />
<TextBlock Grid.Column="2" HorizontalAlignment="Center" VerticalAlignment="Center" FontWeight="Bold" Text="文件大小" />
<TextBlock Grid.Column="3" HorizontalAlignment="Center" VerticalAlignment="Center" FontWeight="Bold" Text="文件路径" />
<TextBlock Grid.Column="4" HorizontalAlignment="Center" VerticalAlignment="Center" FontWeight="Bold" Text="上次上传时间" />
<!--<TextBlock Grid.Column="0" HorizontalAlignment="Center" VerticalAlignment="Center"
FontWeight="Bold" Text="选择" />-->
<!-- 全选复选框 -->
<CheckBox Grid.Column="0"
HorizontalAlignment="Left" VerticalAlignment="Center"
IsChecked="{Binding IsAllSelected, Mode=TwoWay}"/>
<TextBlock Grid.Column="1" HorizontalAlignment="left" VerticalAlignment="Center" FontWeight="Bold" Text="文件名称" />
<TextBlock Grid.Column="2" HorizontalAlignment="left" VerticalAlignment="Center" FontWeight="Bold" Text="文件大小" />
<TextBlock Grid.Column="3" HorizontalAlignment="left" VerticalAlignment="Center" FontWeight="Bold" Text="文件路径" />
<TextBlock Grid.Column="4" HorizontalAlignment="left" VerticalAlignment="Center" FontWeight="Bold" Text="上次上传时间" />
</Grid>
<ListBox h:Cattach.ItemHeight="Auto" Style="{DynamicResource {x:Static h:ListBoxKeys.Single}}"

View File

@ -138,7 +138,6 @@ namespace HeBianGu.App.Disk
//待上传文件
private ObservableCollection<UpLoadItems> _waitUpLoadItems = new ObservableCollection<UpLoadItems>();
/// <summary> 说明 </summary>
public ObservableCollection<UpLoadItems> WaitUpLoadItems
{
@ -150,6 +149,24 @@ namespace HeBianGu.App.Disk
}
}
private bool? _isAllSelected;
public bool? IsAllSelected
{
get => _isAllSelected;
set
{
_isAllSelected = value;
// 全选/取消全选逻辑
if (value.HasValue)
{
foreach (var item in WaitUpLoadItems)
{
item.Bool1 = value.Value;
}
}
}
}
// 只读属性,返回过滤后的集合(动态计算)
private ObservableCollection<UpLoadItems> _uploadingItems = new ObservableCollection<UpLoadItems>();
@ -292,6 +309,7 @@ namespace HeBianGu.App.Disk
if (flag == true)
{
MessageBox.Show($"已成功删除 {items.Count} 个项目");
IsAllSelected = false;
}
else
{
@ -338,6 +356,7 @@ namespace HeBianGu.App.Disk
CompleteCount = CompleteItems.Count;
MessageBox.Show("正在上传列表中可查看进度");
WaitUpLoadItems.RemoveAll(r => r.Bool1 == true);
IsAllSelected = false;
WaitCount = WaitUpLoadItems.Count;
// 如果没有上传任务在运行,则启动上传
if (!_isUploading)
@ -584,7 +603,7 @@ namespace HeBianGu.App.Disk
IMinioClient client = new MinioClient()
.WithEndpoint(config["Minio:Endpoint"])
.WithCredentials(config["Minio:AccessKey"], config["Minio:SecretKey"])
//.WithHttpClient(new HttpClient(handler) { Timeout = Timeout.InfiniteTimeSpan })
.WithHttpClient(new HttpClient() {Timeout = TimeSpan.FromMinutes(30) })
.Build();
string bucketName = GetCurrentBucket();
// 确保桶存在
@ -647,7 +666,6 @@ namespace HeBianGu.App.Disk
.WithObject(ut.Value6)
.WithFileName(ut.Value5)
.WithProgress(progress)
.WithObjectSize(5 * 1024 * 1024);
var uploadTask = client.PutObjectAsync(putObjectArgs);