У меня есть ScatterViewItem
в Scatterview
, манипуляции которого не обрабатываются мной. У меня также есть RichTextBox
в ScatterView с свойством AllowDrop = True
.DragDropEffect.Copy Сбрасывает себя на Нет
По умолчанию событие RichTextBox DragEnter
срабатывает всякий раз, когда ScatterViewItem перетаскивается в него, что является правильным. Я проверил DragDropEffect здесь, и это DragDropEffect.Move
. Событие Drop
срабатывает соответственно после этого.
Я изменил DragDropEffect от Move
до Copy
в DragEnter, но событие Drop больше не срабатывает. Я снова проверил DragDropEffect в DragOver
, и это как-то стало None
. Я попытался установить его в DragOver на Copy
(снова), но каждый раз он просто станет None
сам по себе на следующем триггере DragOver.
Единственный раз, когда событие Drop будет срабатывать, если значение DragDropEffect установлено равным All
или Move
. Как мне изменить его на DragDropEffect.Copy
и по-прежнему запускать событие Drop? Я установил e.Handled = true
после настройки DragDropEffect.Copy.
EDIT: Извиняюсь, я немного манипулировал перетаскиванием svi. В ScatterView OnManipulationStarted
, я получаю svi и называется svi.BeginDragDrop(svi.DataContext)
. Это все, что я сделал с СВИ.
Хммм вы смешивали 'Эффекты' и' Разрешенные эффекты'? Я не могу узнать, что такое AllowedEffects, нет такого свойства в 'DragEventArgs' в' DragEnter'. Я не называл 'DragDrop.DoDragDrop', я называл' svi.BeginDragDrop' вместо этого, который создает 'SurfaceDragCursor'. Я перешел на «DragDrop.DoDragDrop», и «DragEnter» даже не запускается. Простите меня, но мои знания об элементах Drag and Dropping по-прежнему очень слабы ... –
в 'DragEnter', я проверил' (SurfaceDragDropEventArgs) .Cursor.AllowedEffects' и это 'Move'. –
Да, я * сделал * перепутал их ... спасибо, что указал ... Я обновил свой ответ сейчас. Кроме того, если ваш 'AllowedEffects' только говорит' Move', вы можете перемещаться и не копировать. – Sheridan