在WPF中禁用ListView中的拖动滚动

我正在WPF中创建一个ListView组件。列表中的项目基于另一个对MouseLeftDown事件作出反应的用户控件。 List还对SelectionChanged事件做出反应。 现在,如果我鼠标按下列表上的任何项目并移动光标,我传递的其他项目将对SelectionChanged事件做出反应(由于选择按照列表视图中的Mouse Down事件进行更改,因此预计会发生这种情况)。我需要能够在通过拖动滚动行为时禁用此反应,但是当用户选择列表上的项目时保持活动状态。 有没有人有任何想法如何实现这一目标? 感谢大家, RK     
已邀请:
我相信可以帮助您的方法之一是实现您自己的项目的MouseUp和MouseDown事件处理程序,以选择MouseUp而不是MouseDown上的项目。您可以从这样的示例开始:
public class MyListView : ListView
{
    protected override DependencyObject GetContainerForItemOverride()
    {
        return new MyListViewItem();
    }
}

public class MyListViewItem : ListViewItem
{
    protected override void OnMouseLeftButtonDown(MouseButtonEventArgs e)
    {
        return;
    }

    protected override void OnMouseLeftButtonUp(MouseButtonEventArgs e)
    {
        base.OnMouseLeftButtonDown(e);
    }
} 
    

要回复问题请先登录注册