2015-10-05 120 views
1

如何禁用組合框控件中的鼠標滾輪?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) ? –

回答

2

如果必須這樣做,這是很簡單 - 只要禁用內ScrollViewer中垂直滾動。

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

不,我的意思是當組合框具有焦點並且鼠標位於組合框上方時的滾動 – kendoo

2

該解決方案過於冗長,但有效。創建您的組合框類並用空處理程序覆蓋OnPointerWheelChanged

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

    } 
} 

您可以添加e.handled = true,但它與我的測試沒有什麼區別。當組合框打開時滾動工作正常。

相關問題