Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ScrollViewer中的组合框不';t使用鼠标滚轮滚动其下拉项目_C#_Wpf_Combobox - Fatal编程技术网

C# ScrollViewer中的组合框不';t使用鼠标滚轮滚动其下拉项目

C# ScrollViewer中的组合框不';t使用鼠标滚轮滚动其下拉项目,c#,wpf,combobox,C#,Wpf,Combobox,我一直坚持在这里提问,希望通过先搜索找到答案,但我没有成功 我在窗口的左侧有一个搜索过滤条,看起来像这样(出于大小的考虑,我省略了大多数控件,因为大多数控件都是组合框,并且遇到了相同的问题): 我的组合框是通过code behind的ItemsSource填充的,可以包含多个结果,这样组合框就可以获得自己的ScrollViewer ScrollViewer在那里,因此如果调整窗口大小,用户可以看到控件 ScrollViewer可以用鼠标滚轮(也可以拖动条)很好地滚动,但是问题是,当我在一个组

我一直坚持在这里提问,希望通过先搜索找到答案,但我没有成功

我在窗口的左侧有一个搜索过滤条,看起来像这样(出于大小的考虑,我省略了大多数控件,因为大多数控件都是
组合框
,并且遇到了相同的问题):


我的组合框是通过code behind的
ItemsSource
填充的,可以包含多个结果,这样组合框就可以获得自己的ScrollViewer

ScrollViewer在那里,因此如果调整窗口大小,用户可以看到控件

ScrollViewer可以用鼠标滚轮(也可以拖动条)很好地滚动,但是问题是,当我在一个组合框上下拉很多项时,我不能用鼠标滚轮滚动

ScrollViewer(如果足够小且可滚动)似乎接管并上下滚动整个批次,而不是扩展组合框中的项目

如果滚动条在ScrollViewer上不可见,则使用鼠标滚轮滚动没有任何作用,在组合框中滚动的唯一方法是拖动滚动条

如何使ScrollViewer中的ComboBox可以通过鼠标滚轮滚动,这样用户就不会被迫拖动滚动条

谢谢

这建议使用这样的方法

ScrollViewer sv = comboBox.Template.FindName("DropDownScrollViewer", comboBox) as ScrollViewer;
if (sv != null)
{
    // Do something...
}

能否尝试在组合框中设置ScrollViewer.VerticalScrollBarVisibility=“Visible”?它可以强制组合框显示并使用滚动。设置
ScrollViewer.VerticalScrollBarVisibility=“Visible”
对组合框没有影响
ScrollViewer sv = comboBox.Template.FindName("DropDownScrollViewer", comboBox) as ScrollViewer;
if (sv != null)
{
    // Do something...
}