diff --git a/src/Files.App/Data/Items/LocationItem.cs b/src/Files.App/Data/Items/LocationItem.cs index 5e0933c15561..e0e3e915941a 100644 --- a/src/Files.App/Data/Items/LocationItem.cs +++ b/src/Files.App/Data/Items/LocationItem.cs @@ -128,9 +128,14 @@ public sealed class RecycleBinLocationItem : LocationItem public async void RefreshSpaceUsed(object? sender, FileSystemEventArgs e) { - await MainWindow.Instance.DispatcherQueue.EnqueueOrInvokeAsync(() => + await RefreshSpaceUsedAsync(); + } + + private Task RefreshSpaceUsedAsync() + { + return MainWindow.Instance.DispatcherQueue.EnqueueOrInvokeAsync(async () => { - SpaceUsed = StorageTrashBinService.GetSize(); + SpaceUsed = await Task.Run(() => StorageTrashBinService.GetSize()); }); } @@ -152,10 +157,10 @@ public override object ToolTip public RecycleBinLocationItem() { - SpaceUsed = StorageTrashBinService.GetSize(); - StorageTrashBinService.Watcher.ItemAdded += RefreshSpaceUsed; StorageTrashBinService.Watcher.ItemDeleted += RefreshSpaceUsed; + + _ = RefreshSpaceUsedAsync(); } } }