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...
}