Create BusyIndicator control.
MODIFY
WalletWasabi.Gui/App.xaml
WalletWasabi.Gui/App.xaml
<StyleInclude Source="resm:WalletWasabi.Gui.Icons.Icons.xaml?assembly=WalletWasabi.Gui" />
<StyleInclude Source="resm:WalletWasabi.Gui.Controls.NoparaPasswordBox.xaml?assembly=WalletWasabi.Gui" />
<StyleInclude Source="resm:WalletWasabi.Gui.Controls.MultiTextBox.xaml?assembly=WalletWasabi.Gui" />
+ <StyleInclude Source="resm:WalletWasabi.Gui.Controls.BusyIndicator.xaml?assembly=WalletWasabi.Gui" />
</Application.Styles>
<Application.DataTemplates>
<DataTemplate DataType="Views:MainView">

ADD
WalletWasabi.Gui/Controls/BusyIndicator.cs
+using Avalonia;
+using Avalonia.Controls;
+using Avalonia.Controls.Presenters;
+using Avalonia.Controls.Primitives;
+using Avalonia.Styling;
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace WalletWasabi.Gui.Controls
+{
+ public class BusyIndicator : ContentControl, IStyleable
+ {
+ Type IStyleable.StyleKey => typeof(BusyIndicator);
+
+ public static readonly StyledProperty<string> TextProperty =
+ AvaloniaProperty.Register<BusyIndicator, string>(nameof(Text));
+
+ public static readonly StyledProperty<bool> IsBusyProperty =
+ AvaloniaProperty.Register<BusyIndicator, bool>(nameof(IsBusy));
+
+ public string Text
+ {
+ get => GetValue(TextProperty);
+ set => SetValue(TextProperty, value);
+ }
+
+ public bool IsBusy
+ {
+ get => GetValue(IsBusyProperty);
+ set => SetValue(IsBusyProperty, value);
+ }
+ }
+}

MODIFY
WalletWasabi.Gui/Controls/WalletExplorer/HistoryTabView.xaml
WalletWasabi.Gui/Controls/WalletExplorer/HistoryTabView.xaml
<controls:SortingArrow Grid.Column="2" Command="{Binding SortCommand}" Text="Amount (BTC)" SortDirection="{Binding AmountSortDirection}" />
<controls:SortingArrow Grid.Column="3" Command="{Binding SortCommand}" Text="Transaction ID" SortDirection="{Binding TransactionSortDirection}" />
</Grid>
- <Grid>
- <StackPanel ZIndex="2" Orientation="Horizontal" VerticalAlignment="Top" IsVisible="{Binding IsFirstLoading}">
- <controls:Spinner Height="20" Width="20" IsVisible="True" Margin ="8" />
- <TextBlock Text="Loading..." VerticalAlignment="Center" />
- </StackPanel>
+ <controls:BusyIndicator Text="Loading..." IsBusy="{Binding IsFirstLoading}">
<ListBox Items="{Binding Transactions}" SelectedItem="{Binding SelectedTransaction, Mode=TwoWay}" ZIndex="1">
<ListBox.ItemTemplate>
<DataTemplate>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
- </Grid>
+ </controls:BusyIndicator>
</DockPanel>
</DockPanel>
</Grid>

Create BusyIndicator control.