我有一个列表框,其中填充了相对较少的项目。这些项目不适合屏幕,因此列表框会自动获得右侧的垂直滚动条。滚动条响应鼠标滚轮但列表框项不响应。如何让物品响应鼠标滚轮?
提前致谢!
- 纳乔
答案 0 :(得分:0)
如果你想避免ListBox响应mousewheel事件,你想在ListBox元素的上下文中处理mousewheel事件。
在该处理程序中,您可以设置e.Handled = true,这将阻止事件冒泡到包含列表框。
您也可以将该语句放在ListBoxItem中的包含元素中。
答案 1 :(得分:0)
这将选择我在WPF窗口中的列表框中的项目。转动鼠标滚轮时,会选择一个ListBox项。 ListBox在此之前获得焦点,并且已经选择了第一个项目。
在类文件中放置:
private void ListBox1_MouseWheel(object sender, MouseWheelEventArgs e)
{
int cap = (ListBox1.Items.Count) - 1;
int place = ListBox1.SelectedIndex;
int incre = e.Delta/120;
place += incre;
if (place > cap)
{
place = 0;
}
if (place < 0)
{
place = cap;
}
ListBox1.SelectedIndex = place;
ListBox1.ScrollIntoView(itemNoresult1.SelectedItem);
}
在列表框的XAML属性中添加:PreviewMouseWheel="ListBox1_MouseWheel"