diff --git a/src/MaaWpfGui/Helper/MouseWheelHelper.cs b/src/MaaWpfGui/Helper/MouseWheelHelper.cs index 74c3c2beed..f336acb500 100644 --- a/src/MaaWpfGui/Helper/MouseWheelHelper.cs +++ b/src/MaaWpfGui/Helper/MouseWheelHelper.cs @@ -6,7 +6,7 @@ namespace MaaWpfGui.Helper { public static class MouseWheelHelper { - public static void HandlePreviewMouseWheel(object sender, MouseWheelEventArgs e) + public static void RouteMouseWheelToParent(object sender, MouseWheelEventArgs e) { if (e.Handled) { @@ -21,5 +21,13 @@ namespace MaaWpfGui.Helper var parent = ((Control)sender).Parent as UIElement; parent?.RaiseEvent(eventArg); } + + public static void DisableComboBoxScrollWhenClosed(object sender, MouseWheelEventArgs e) + { + if (sender is ComboBox { IsDropDownOpen: false }) + { + e.Handled = true; // 阻止滚动 + } + } } } diff --git a/src/MaaWpfGui/Views/UI/AnnouncementView.xaml b/src/MaaWpfGui/Views/UI/AnnouncementView.xaml index fb58dca3c8..7bbfe8db30 100644 --- a/src/MaaWpfGui/Views/UI/AnnouncementView.xaml +++ b/src/MaaWpfGui/Views/UI/AnnouncementView.xaml @@ -72,7 +72,7 @@ d:Markdown="#Test This is a test text. ~~This is a test text~~ *This is a test text* **This is a test text**" ClickAction="SafetyOpenBrowser" Markdown="{Binding SelectedAnnouncementSection.Content}" - PreviewMouseWheel="{s:Action HandlePreviewMouseWheel, + PreviewMouseWheel="{s:Action RouteMouseWheelToParent, Target={x:Type helper:MouseWheelHelper}}"> diff --git a/src/MaaWpfGui/Views/UI/RecognizerView.xaml b/src/MaaWpfGui/Views/UI/RecognizerView.xaml index 476bfb7709..f44e7a6a58 100644 --- a/src/MaaWpfGui/Views/UI/RecognizerView.xaml +++ b/src/MaaWpfGui/Views/UI/RecognizerView.xaml @@ -222,7 +222,7 @@ HeadersVisibility="None" IsReadOnly="True" ItemsSource="{Binding OperBoxNotHaveList}" - PreviewMouseWheel="{s:Action HandlePreviewMouseWheel, + PreviewMouseWheel="{s:Action RouteMouseWheelToParent, Target={x:Type helper:MouseWheelHelper}}" ScrollViewer.CanContentScroll="True" ScrollViewer.HorizontalScrollBarVisibility="Disabled" @@ -253,7 +253,7 @@ HeadersVisibility="None" IsReadOnly="True" ItemsSource="{Binding OperBoxHaveList}" - PreviewMouseWheel="{s:Action HandlePreviewMouseWheel, + PreviewMouseWheel="{s:Action RouteMouseWheelToParent, Target={x:Type helper:MouseWheelHelper}}" ScrollViewer.CanContentScroll="True" ScrollViewer.HorizontalScrollBarVisibility="Disabled" diff --git a/src/MaaWpfGui/Views/UI/VersionUpdateView.xaml b/src/MaaWpfGui/Views/UI/VersionUpdateView.xaml index b73e1fbb08..ad659e30df 100644 --- a/src/MaaWpfGui/Views/UI/VersionUpdateView.xaml +++ b/src/MaaWpfGui/Views/UI/VersionUpdateView.xaml @@ -52,7 +52,7 @@ Margin="10,10,10,0" ClickAction="SafetyOpenBrowser" Markdown="{Binding UpdateInfo}" - PreviewMouseWheel="{s:Action HandlePreviewMouseWheel, + PreviewMouseWheel="{s:Action RouteMouseWheelToParent, Target={x:Type helper:MouseWheelHelper}}"> diff --git a/src/MaaWpfGui/Views/UserControl/Settings/PerformanceUserControl.xaml b/src/MaaWpfGui/Views/UserControl/Settings/PerformanceUserControl.xaml index 57c7ee93d3..dd56ad685e 100644 --- a/src/MaaWpfGui/Views/UserControl/Settings/PerformanceUserControl.xaml +++ b/src/MaaWpfGui/Views/UserControl/Settings/PerformanceUserControl.xaml @@ -34,6 +34,8 @@ HorizontalAlignment="Center" VerticalAlignment="Center" ItemsSource="{Binding GpuOptions}" + PreviewMouseWheel="{s:Action DisableComboBoxScrollWhenClosed, + Target={x:Type helper:MouseWheelHelper}}" SelectedValue="{Binding ActiveGpuOption}">