diff --git a/Source/LibationWinForms/AvaloniaUI/Controls/WheelComboBox.axaml b/Source/LibationWinForms/AvaloniaUI/Controls/WheelComboBox.axaml
new file mode 100644
index 00000000..635aa2a8
--- /dev/null
+++ b/Source/LibationWinForms/AvaloniaUI/Controls/WheelComboBox.axaml
@@ -0,0 +1,5 @@
+
+
+
diff --git a/Source/LibationWinForms/AvaloniaUI/Controls/WheelComboBox.axaml.cs b/Source/LibationWinForms/AvaloniaUI/Controls/WheelComboBox.axaml.cs
new file mode 100644
index 00000000..4458e288
--- /dev/null
+++ b/Source/LibationWinForms/AvaloniaUI/Controls/WheelComboBox.axaml.cs
@@ -0,0 +1,35 @@
+using Avalonia;
+using Avalonia.Controls;
+using Avalonia.Input;
+using Avalonia.Markup.Xaml;
+using Avalonia.Styling;
+using System;
+using System.Collections;
+using System.Linq;
+
+namespace LibationWinForms.AvaloniaUI.Controls
+{
+ public partial class WheelComboBox : ComboBox, IStyleable
+ {
+ Type IStyleable.StyleKey => typeof(ComboBox);
+ public WheelComboBox()
+ {
+ InitializeComponent();
+ }
+ protected override void OnPointerWheelChanged(PointerWheelEventArgs e)
+ {
+ var dir = Math.Sign(e.Delta.Y);
+ if (dir == 1 && SelectedIndex > 0)
+ SelectedIndex--;
+ else if (dir == -1 && SelectedIndex < ItemCount - 1)
+ SelectedIndex++;
+
+ base.OnPointerWheelChanged(e);
+ }
+
+ private void InitializeComponent()
+ {
+ AvaloniaXamlLoader.Load(this);
+ }
+ }
+}
diff --git a/Source/LibationWinForms/AvaloniaUI/Views/Dialogs/BookDetailsDialog.axaml b/Source/LibationWinForms/AvaloniaUI/Views/Dialogs/BookDetailsDialog.axaml
index 84aa0a8d..5ba6c079 100644
--- a/Source/LibationWinForms/AvaloniaUI/Views/Dialogs/BookDetailsDialog.axaml
+++ b/Source/LibationWinForms/AvaloniaUI/Views/Dialogs/BookDetailsDialog.axaml
@@ -10,7 +10,7 @@
Title="Book Details" Name="BookDetails"
Icon="/AvaloniaUI/Assets/libation.ico">
-
+