c# - 在 WPF ListView 中如何防止自动滚动?

标签 c# wpf xaml listview scroll

我有一个 WPF ListView,当前每次我单击一个仅部分可见的项目时它都会滚动。如何防止控件将该项目滚动到 View 中(而不是简单地选择部分可见的项目)?从此控件进行拖动时,此行为非常烦人。

谢谢。

补充:我正在寻找一种解决方案,以防止控件本身在单击控件认为不完全可见的内容时滚动。通常这是几个像素,不需要滚动。

最佳答案

项目滚动到 View 中,因为单击列表项目的默认行为是调用 BringIntoView()。您可以为 RequestBringIntoView 事件添加一个事件处理程序,并在它从 ListViewItems 冒泡到 ScrollViewer 之前捕获它。在您的处理程序中,根据可见区域检查发件人的边界,如果您决定不需要滚动,请将事件的 Handled 标志设置为 true。

关于c# - 在 WPF ListView 中如何防止自动滚动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/209416/

相关文章:

c# - 如何将数据库数据导出到Excel文件

c# - 通过 C# Azure 管理库将 SSL 绑定(bind)添加到 Azure 网站

c# - 列表框项目源 WPF 绑定(bind)

c# - Web 服务器不允许使用 Post 方法

c# - 在哪里可以找到 Windows.UI.Xaml.Media.Imaging 命名空间?

c# - 如何在 Xamarin 表格 pcl 的网格中插入背景图像

.net - 如何为自定义异常处理程序显示标准 Windows 错误图标?

c# - C# WPF 中的上下文菜单绑定(bind)

c# - WPF 在运行期间禁用命令

c# - 访问按钮内的 TextBlock.Text