aboutsummaryrefslogtreecommitdiffziptar.gz
path: root/src/Godosa.Desktop/Buttons.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Godosa.Desktop/Buttons.cs')
-rw-r--r--src/Godosa.Desktop/Buttons.cs15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/Godosa.Desktop/Buttons.cs b/src/Godosa.Desktop/Buttons.cs
new file mode 100644
index 0000000..34a89e0
--- /dev/null
+++ b/src/Godosa.Desktop/Buttons.cs
@@ -0,0 +1,15 @@
+using Avalonia.Controls;
+using Avalonia.Controls.Primitives;
+using Avalonia.Interactivity;
+
+namespace Godosa.Desktop;
+
+public static class Buttons
+{
+ /// <summary>Presses a button as a click would: toggles a ToggleButton, else raises Click.</summary>
+ public static void Press(Button button)
+ {
+ if (button is ToggleButton toggle) toggle.IsChecked = toggle.IsChecked != true;
+ else button.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
+ }
+}