Add hint to the user that the slider is clickable by highlighting it
ADD
WalletWasabi.Gui/Behaviors/CommandOnPointerEnterLeaveBehavior.cs
+using Avalonia.Controls;
+using Avalonia.Input;
+using System.Reactive.Disposables;
+
+namespace WalletWasabi.Gui.Behaviors
+{
+ internal class CommandOnPointerEnterLeaveBehavior : CommandBasedBehavior<Control>
+ {
+ private CompositeDisposable Disposables { get; set; }
+
+ protected override void OnAttached()
+ {
+ Disposables?.Dispose();
+
+ Disposables = new CompositeDisposable
+ {
+ AssociatedObject.AddHandler(InputElement.PointerEnterEvent, (sender, e) =>
+ {
+ CommandParameter = true;
+ e.Handled = ExecuteCommand();
+ }),
+ AssociatedObject.AddHandler(InputElement.PointerLeaveEvent, (sender, e) =>
+ {
+ CommandParameter = false;
+ e.Handled = ExecuteCommand();
+ })
+ };
+ base.OnAttached();
+ }
+
+ protected override void OnDetaching()
+ {
+ base.OnDetaching();
+
+ Disposables?.Dispose();
+ }
+ }
+}

MODIFY
WalletWasabi.Gui/Controls/WalletExplorer/SendTabView.xaml
WalletWasabi.Gui/Controls/WalletExplorer/SendTabView.xaml
<DrawingPresenter VerticalAlignment="Center" HorizontalAlignment="Center" Drawing="{DynamicResource SendTabView_Lightning}" />
</Grid>
<Slider Minimum="{Binding MinimumFeeTarget}" Maximum="{Binding MaximumFeeTarget}" Value="{Binding FeeTarget}" Width="270">
+ <i:Interaction.Behaviors>
+ <behaviors:CommandOnPointerEnterLeaveBehavior Command="{Binding HighLightFeeSliderCommand}" />
+ </i:Interaction.Behaviors>
</Slider>
<Grid Height="10" Width="10">
<DrawingPresenter VerticalAlignment="Center" HorizontalAlignment="Center" Drawing="{DynamicResource SendTabView_Clock}" />

MODIFY
WalletWasabi.Gui/Controls/WalletExplorer/SendTabViewModel.cs
WalletWasabi.Gui/Controls/WalletExplorer/SendTabViewModel.cs
@@ -464,6 +464,16 @@ namespace WalletWasabi.Gui.Controls.WalletExplorer
IsSliderFeeUsed = true;
});
+ HighLightFeeSliderCommand = ReactiveCommand.Create((bool entered) =>
+ {
+ if (IsSliderFeeUsed)
+ {
+ return;
+ }
+
+ FeeControlOpacity = entered ? 0.8 : 0.5;
+ });
+
Observable
.Merge(MaxCommand.ThrownExceptions)
.Merge(FeeRateCommand.ThrownExceptions)
@@ -471,6 +481,7 @@ namespace WalletWasabi.Gui.Controls.WalletExplorer
.Merge(BuildTransactionCommand.ThrownExceptions)
.Merge(UserFeeTextKeyUpCommand.ThrownExceptions)
.Merge(FeeSliderClickedCommand.ThrownExceptions)
+ .Merge(HighLightFeeSliderCommand.ThrownExceptions)
.Subscribe(ex => SetWarningMessage(ex.ToTypeMessageString()));
}
@@ -1095,6 +1106,8 @@ namespace WalletWasabi.Gui.Controls.WalletExplorer
public ReactiveCommand<PointerPressedEventArgs, Unit> FeeSliderClickedCommand { get; }
+ public ReactiveCommand<bool, Unit> HighLightFeeSliderCommand { get; }
+
public bool IsTransactionBuilder { get; }
public override void OnOpen()

Add hint to the user that the slider is clickable by highlighting it