private async void MeasurableProgressChanged(IProgress prog, IProgressChangedEventArg _) => await Dispatcher.RunAsync( CoreDispatcherPriority.Normal, () => { var mprog = prog as IMeasurableProgress; SizeTextBlock.Text = $"{mprog.DownloadedSize.SizedString()} of {mprog.TotalSize.SizedString()}"; MainProgressBar.Value = mprog.Progress * 100; });
private async void ProgressChanged(IProgress sender, IProgressChangedEventArg _) { await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () => { if (sender is IMeasurableProgress mprogress) { UpdateIntoDynamicLabelCollection(ProgressText, $"{mprogress.DownloadedSize.SizedString()} / {mprogress.TotalSize.SizedString()}"); ProgressTextBlock.Text = mprogress.Progress.ToString("0%"); } else { UpdateIntoDynamicLabelCollection(ProgressText, sender.DownloadedSize.SizedString()); } }); }
private void AnySegmentProgressChanged(IProgress _, IProgressChangedEventArg arg) { long newVal = Interlocked.Add(ref downloadedSize, arg.Delta); OnDownloadedSizeChanged(newVal - arg.Delta, newVal); }
private async void ProgressChanged(IProgress prog, IProgressChangedEventArg _) => await SizeTextBlock.Dispatcher.RunAsync( CoreDispatcherPriority.Normal, () => SizeTextBlock.Text = prog.DownloadedSize.SizedString() );