Windows 10 UWP应用程序c# - 禁用组合框中的鼠标滚轮

Windows 10 UWP应用程序c# - 禁用组合框中的鼠标滚轮

问题描述:

如何禁用组合框控件中的鼠标滚轮?Windows 10 UWP应用程序c# - 禁用组合框中的鼠标滚轮

<ComboBox x:Name="ListDates" SelectedValuePath="Tag" Width="185" Background="#FFFFCC00" BorderThickness="1" Margin="12,8,0,0"/> 
+0

你为什么想要?这只会让你的用户恼火,鼠标滚轮不能正常工作。如果你有充分的理由这样做,告诉我们它是什么。 –

+0

如果组合框有焦点并且鼠标悬停在它上面,不应该能够滚动 – kendoo

+0

再次,为什么不允许用户用鼠标滚轮滚动它?为什么强迫他们使用滚动条或键盘?你确定你不想使用[垂直滚动链接](https://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.xaml.controls.scrollviewer.isverticalscrollchainingenabled.aspx) ? –

如果必须这样做,这是很简单 - 只要禁用内ScrollViewer中垂直滚动。

<ComboBox x:Name="ListDates" 
      ScrollViewer.VerticalScrollMode="Disabled" 
+0

不,我的意思是当组合框具有焦点并且鼠标位于组合框上方时的滚动 – kendoo

该解决方案过于冗长,但有效。创建您的组合框类并用空处理程序覆盖OnPointerWheelChanged

public class ComboBoxNoWheel: ComboBox 
{ 
    protected override void OnPointerWheelChanged(PointerRoutedEventArgs e) 
    { 

    } 
} 

您可以添加e.handled = true,但它与我的测试没有什么区别。当组合框打开时滚动工作正常。