に がありScatterViewItem
、Scatterview
その操作は私が処理していません。またRichTextBox
、 ScatterView には、プロパティ がありますAllowDrop = True
。
デフォルトでは、RichTextBox のDragEnter
イベントは、ScatterViewItem がそこにドラッグされるたびに発生しますが、これは正しいことです。ここで DragDropEffect を確認したところ、DragDropEffect.Move
. その後Drop
、イベントは適切に発生します。
DragEnter でDragDropEffect を から に変更しましMove
たCopy
が、Drop イベントが発生しなくなりました。DragDropEffect をもう一度チェックしたDragOver
ところ、どういうわけか になりましNone
た。DragOver で (再度) に設定しようとしましCopy
たが、毎回None
、DragOver の次のトリガーでそれ自体になります。
Drop イベントが発生するのは、DragDropEffect がAll
またはに設定されている場合のみMove
です。DragDropEffect.Copy
これを変更して Drop イベントを発生させるにはどうすればよいですか? e.Handled = true
DragDropEffect.Copyに設定した後に設定しました。
編集: 申し訳ありませんが、svi のドラッグ アンド ドロップを少し操作しました。ScatterView のOnManipulationStarted
で、svi を取得して を呼び出しsvi.BeginDragDrop(svi.DataContext)
ます。sviに対して行ったのはこれだけです。