私は Wpf プロジェクトに取り組んでいますが、現在ListView
問題が発生しています。
Drag&Drop
ListView に正常に機能する機能を実装したことがわかりました。下または上にスクロールしようとすると問題が発生します。これを行うと、Drag&Drop
機能がアクティブになり、スクロールし続けることができなくなります。
コントロールをイベントにアタッチする必要があることを示すこのソリューションを見つけました。ScrollChanged
<ListView ScrollViewer.ScrollChanged="listView1_ScrollChanged"...
しかし、そのハンドラーで何をすべきか本当にわかりません。そのイベントからドラッグ&ドロップを無効にするにはどうすればよいですか?? そして、どうすれば再び有効にできますか?? または、これを解決するより良い方法はありますか??
それが私のDrag&Drop
コードです:
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);
}
}
前もって感謝します。