У меня есть компонент, который можно использовать. Я просто обновил его, чтобы вы могли либо выполнить процент выполнения самостоятельно для процесса, либо вы можете установить его просто на приращение с периодичностью c, если вы знаете, сколько времени занимает ваш процесс.
Nuget если вы не хотите копировать код: DataJuggler.Blazor.Components
Если вы не используете Nuget, вам понадобится circle.s css:
(скачать с мой GitHub) https://github.com/DataJuggler/DataJuggler.Blazor.Components/blob/master/wwwroot/css/circle.scss
Автор, заслуживающий доверия:
Андре Фирхов
http://circle.firchow.net/
В любом случае, вам нужно будет добавить его в ваш файл _host.cs html:
Здесь показан путь к пакету Nuget:
<link href="~/_content/DataJuggler.Blazor.Components/css/circle.css" rel="stylesheet" />
Или если circle.s css находится в файле вашего проекта
<link href="~/css/circle.css" rel="stylesheet" />
Я пытался опубликовать код ProgressBar.razor и Progress.razor.cs, но переполнение стека сообщило мне, что я превысил ограничение в 30 000 символов, которое мне трудно поверьте как можно меньше кода, поэтому вот ссылка:
https://github.com/DataJuggler/DataJuggler.Blazor.Components/blob/master/ProgressBar.razor
https://github.com/DataJuggler/DataJuggler.Blazor.Components/blob/master/ProgressBar.razor.cs
Использование:
<div class="progresscontainer3">
<ProgressBar Subscriber=this Increment="0" Interval="125"
ClientHandledIncrement="true"
CloseAtExtraPercent="0" Visible="@ShowProgress" Theme=ThemeEnum.Dark
Color=ColorEnum.Orange
Size=SizeEnum.Small OverrideThemeColorForText="true" TextColor="White">
</ProgressBar>
</div>
Если вы хотите увидеть рабочий пример, зарегистрируйтесь или загрузите изображение, введите этот запрос:
https://pixeldatabase.net
Скрыть Всего <40 </p>
и нажмите Применить.
Или здесь есть видео, которое также показывает индикатор выполнения:
https://youtu.be/K-reLOc1-Uo
Я думаю, что это работает довольно хорошо.