Browse Source
Merge pull request #10133 from AvaloniaUI/button_click
Only set pointer events to handled in button if click is triggered
pull/10153/head
Max Katz
3 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with
2 additions and
2 deletions
-
src/Avalonia.Controls/Button.cs
|
|
@ -394,10 +394,10 @@ namespace Avalonia.Controls |
|
|
if (e.GetCurrentPoint(this).Properties.IsLeftButtonPressed) |
|
|
if (e.GetCurrentPoint(this).Properties.IsLeftButtonPressed) |
|
|
{ |
|
|
{ |
|
|
IsPressed = true; |
|
|
IsPressed = true; |
|
|
e.Handled = true; |
|
|
|
|
|
|
|
|
|
|
|
if (ClickMode == ClickMode.Press) |
|
|
if (ClickMode == ClickMode.Press) |
|
|
{ |
|
|
{ |
|
|
|
|
|
e.Handled = true; |
|
|
OnClick(); |
|
|
OnClick(); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
@ -411,11 +411,11 @@ namespace Avalonia.Controls |
|
|
if (IsPressed && e.InitialPressMouseButton == MouseButton.Left) |
|
|
if (IsPressed && e.InitialPressMouseButton == MouseButton.Left) |
|
|
{ |
|
|
{ |
|
|
IsPressed = false; |
|
|
IsPressed = false; |
|
|
e.Handled = true; |
|
|
|
|
|
|
|
|
|
|
|
if (ClickMode == ClickMode.Release && |
|
|
if (ClickMode == ClickMode.Release && |
|
|
this.GetVisualsAt(e.GetPosition(this)).Any(c => this == c || this.IsVisualAncestorOf(c))) |
|
|
this.GetVisualsAt(e.GetPosition(this)).Any(c => this == c || this.IsVisualAncestorOf(c))) |
|
|
{ |
|
|
{ |
|
|
|
|
|
e.Handled = true; |
|
|
OnClick(); |
|
|
OnClick(); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|