c# - scrollviewer 内部的 Listview 防止 scrollviewer 滚动

标签 c# wpf listbox scrollviewer

我有一个带有几个列表框的滚动查看器。问题是如果用户在鼠标悬停在 ListView 上时使用鼠标中间滚轮滚动滚动查看器。 listview 将其内部的 scrollviewer 滚动到底部,然后继续捕获鼠标,防止包含的 scrollviewer 滚动。

关于如何处理这个问题有什么想法吗?

最佳答案

发生这种情况是因为 ListView(实际上是 ListBox)的内容模板用 ScrollViewer 本身包装了它的项目。

最简单的方法是通过为内部 ListView 删除您自己的 Template 来禁用它,它不会创建 ScrollViewer:

    <ListView>
      <ListView.Template>
        <ControlTemplate>
          <ItemsPresenter></ItemsPresenter>
        </ControlTemplate>
      </ListView.Template>
      ...
    </ListView>

顺便说一句,如果您在 ListView 中有一个 ListView,也会发生同样的情况(这是我的情况)。

关于c# - scrollviewer 内部的 Listview 防止 scrollviewer 滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8932720/

相关文章:

列表框中的 WPF 文本 block 未正确剪切

xml - 如何从整个 XML 文件中获取特定标签以添加到列表框?

c# - 如何使用 Asp.net 在 TreeView 中动态添加根节点

c# - 停止调试时的执行方法

c# - C# 中的 Image.FromStream()

c# - 与 MahAppsMetro ProgressIndicator 绑定(bind)失败

c# - WPF如何在运行时更新UI

silverlight - 如何在 silverlight 中制作列表框标题

c# - 下面的规则设计还有哪些解决方案?

C# 卸载和加载窗体/隐藏和关闭