我目前正在使用MVVM使用C#进行WPF项目。在此项目中,我有一个列表框,可为项目源中的每一行数据加载用户控件。
为我的收藏集中的每个项目添加的用户控件还包含一个从数据库填充的列表框。第二个列表框通常会增长,因此使每个项目都大于第一个列表框的 View 。
我的问题是,如何使列表框平滑滚动。现在,它从一项的顶部跳到另一项的顶部。由于每个项目都大于列表框的 View ,因此我需要能够滚动而不会从每个项目的顶部跳到下一个。
我使用了scrollview来实现这一点,但是列表框随后拦截了鼠标滚轮事件,并且不允许我滚动而不将鼠标悬停在滚动条上。
有一个更好的方法吗?
更新:
我可以使用scrollview控件进行平滑滚动,但是当鼠标位于scrollview内时无法滚动。我必须将鼠标悬停在滚动条上才能滚动。
就像某件事正在拦截我的mousewheel事件。
最佳答案
通过使用ItemsControl而不是ListBox,我能够实现我想做的事情。它像ListBox控件一样加载,并将所有数据拉入其中,并让ScrollView处理滚动。它没有像列表框那样拦截鼠标滚轮。
如果不需要选择某个项目,我强烈建议您使用ItemsControl。
关于wpf - 嵌套列表框中的鼠标滚轮,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6928814/