From fa6a66c765410fed286b712ec41b82df4efe357e Mon Sep 17 00:00:00 2001 From: Takoooooo Date: Mon, 18 Oct 2021 17:47:57 +0300 Subject: [PATCH 1/3] fix --- src/Avalonia.Controls/RepeatButton.cs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/Avalonia.Controls/RepeatButton.cs b/src/Avalonia.Controls/RepeatButton.cs index ba770634d9..aff4893a55 100644 --- a/src/Avalonia.Controls/RepeatButton.cs +++ b/src/Avalonia.Controls/RepeatButton.cs @@ -78,6 +78,10 @@ namespace Avalonia.Controls { StartTimer(); } + else if (e.Key == Key.Tab) + { + StopTimer(); + } } protected override void OnKeyUp(KeyEventArgs e) From a4827cc71d5879942270f6327cf2e03b12c23f46 Mon Sep 17 00:00:00 2001 From: Takoooooo Date: Mon, 18 Oct 2021 18:05:13 +0300 Subject: [PATCH 2/3] Revert "fix" This reverts commit fa6a66c765410fed286b712ec41b82df4efe357e. --- src/Avalonia.Controls/RepeatButton.cs | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/Avalonia.Controls/RepeatButton.cs b/src/Avalonia.Controls/RepeatButton.cs index aff4893a55..ba770634d9 100644 --- a/src/Avalonia.Controls/RepeatButton.cs +++ b/src/Avalonia.Controls/RepeatButton.cs @@ -78,10 +78,6 @@ namespace Avalonia.Controls { StartTimer(); } - else if (e.Key == Key.Tab) - { - StopTimer(); - } } protected override void OnKeyUp(KeyEventArgs e) From 6138a273cac544c1bda99746749ba1a83264334d Mon Sep 17 00:00:00 2001 From: Takoooooo Date: Tue, 19 Oct 2021 15:28:21 +0300 Subject: [PATCH 3/3] fix --- src/Avalonia.Controls/RepeatButton.cs | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/Avalonia.Controls/RepeatButton.cs b/src/Avalonia.Controls/RepeatButton.cs index ba770634d9..a21725cadf 100644 --- a/src/Avalonia.Controls/RepeatButton.cs +++ b/src/Avalonia.Controls/RepeatButton.cs @@ -70,6 +70,16 @@ namespace Avalonia.Controls _repeatTimer?.Stop(); } + protected override void OnPropertyChanged(AvaloniaPropertyChangedEventArgs change) + { + base.OnPropertyChanged(change); + + if (change.Property == IsPressedProperty && change.NewValue.GetValueOrDefault() == false) + { + StopTimer(); + } + } + protected override void OnKeyDown(KeyEventArgs e) { base.OnKeyDown(e);