これらの手法を使用して、WPF TreeView コントロールでドラッグ アンド ドロップ ソリューションをまとめようとしています: TreeView へのドラッグ アンド ドロップ、ドロップされた項目を挿入する場所のインデックスの検索
ユーザーが TreeViewItem をクリックすると、最初にtreeViewItem_MouseLeftButtonDown
が実行され、次にtreeViewItem_Drop
も実行されます。クリックするたびに。
これらの手法を使用して、WPF TreeView コントロールでドラッグ アンド ドロップ ソリューションをまとめようとしています: TreeView へのドラッグ アンド ドロップ、ドロップされた項目を挿入する場所のインデックスの検索
ユーザーが TreeViewItem をクリックすると、最初にtreeViewItem_MouseLeftButtonDown
が実行され、次にtreeViewItem_Drop
も実行されます。クリックするたびに。
ハンドラーDragDrop.DoDragDrop()
から呼び出しているようです。treeViewItem_MouseLeftButton
マウス ボタンが離されるtreeViewItem_Drop
とイベントが発生するため、マウス クリックごとにドロップ イベントが発生します。代わりにハンドラーDoDragDrop
から呼び出してみてください。treeViewItem_MouseMove
を呼び出す前に、マウスの左ボタンが押されていることを確認してDroDragDrop
ください。DragDrop
また、次のように、操作を開始する前にマウスが最小距離移動したことを確認することもできます。
if(e.LeftButton == MouseButtonState.Pressed
&& horizontal_move > SystemParameters.MinimumHorizontalDragDistance)
{
DragDrop.DoDragDrop();
}