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"/>
答
如果必须这样做,这是很简单 - 只要禁用内ScrollViewer中垂直滚动。
<ComboBox x:Name="ListDates"
ScrollViewer.VerticalScrollMode="Disabled"
+0
不,我的意思是当组合框具有焦点并且鼠标位于组合框上方时的滚动 – kendoo
答
该解决方案过于冗长,但有效。创建您的组合框类并用空处理程序覆盖OnPointerWheelChanged
。
public class ComboBoxNoWheel: ComboBox
{
protected override void OnPointerWheelChanged(PointerRoutedEventArgs e)
{
}
}
您可以添加e.handled = true
,但它与我的测试没有什么区别。当组合框打开时滚动工作正常。
你为什么想要?这只会让你的用户恼火,鼠标滚轮不能正常工作。如果你有充分的理由这样做,告诉我们它是什么。 –
如果组合框有焦点并且鼠标悬停在它上面,不应该能够滚动 – kendoo
再次,为什么不允许用户用鼠标滚轮滚动它?为什么强迫他们使用滚动条或键盘?你确定你不想使用[垂直滚动链接](https://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.xaml.controls.scrollviewer.isverticalscrollchainingenabled.aspx) ? –