我正在处理一个Wpf项目,但现在我卡在了
事实证明,我已经在ListView上实现了一个良好的
我找到了此解决方案,它指出我们需要将我们的控件附加到
感谢您的提前帮助。
ListView
问题上。事实证明,我已经在ListView上实现了一个良好的
拖放
功能。问题出现在我尝试向下或向上滚动时。这样做会激活拖放
功能,导致我无法继续滚动。我找到了此解决方案,它指出我们需要将我们的控件附加到
ScrollChanged
事件上。<ListView ScrollViewer.ScrollChanged="listView1_ScrollChanged"...
但我真的不知道如何在该处理程序中做什么。 如何从该事件禁用拖放??如何再次启用它??或者,有更好的解决方法吗?
这是我的拖放
代码:
private void listView1_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
// Store the mouse position
startPoint = e.GetPosition(null);
}
private void listView1_MouseMove(object sender, MouseEventArgs e)
{
// Get the current mouse position
Point mousePos = e.GetPosition(null);
Vector diff = startPoint - mousePos;
if (e.LeftButton == MouseButtonState.Pressed &&
(Math.Abs(diff.X) > SystemParameters.MinimumHorizontalDragDistance ||
Math.Abs(diff.Y) > SystemParameters.MinimumVerticalDragDistance))
{
// Get the dragged ListViewItem
ListView listView = sender as ListView;
// Get items to drag
var a = listView.SelectedItems;
// Initialize the drag & drop operation
DataObject dragData = new DataObject("myFormat", a);
DragDrop.DoDragDrop(listView, dragData, DragDropEffects.Move);
}
}
感谢您的提前帮助。