Scatterview
에 ScatterViewItem
이 있는데 그 조작은 저에게 처리되지 않습니다. ScatterView에도 RichTextBox
이 있으며, 속성은 AllowDrop = True
입니다.DragDropEffect.Copy 자체를 None으로 재설정합니다.
기본적으로 RichTextBox의 DragEnter
이벤트는 ScatterViewItem이 끌어다 놓을 때마다 발생하는 이벤트입니다. 여기 DragDropEffect를 확인했는데 DragDropEffect.Move
입니다. 그 후에 적절하게 Drop
이벤트가 발생합니다.
DragEnter에서 DragDropEffect를 Move
에서 Copy
으로 변경했지만 Drop 이벤트가 더 이상 발생하지 않습니다. DragOver
에서 DragDropEffect를 다시 확인했는데 어떻게 든 None
이되었습니다. 나는 DragOver에서 Copy
(다시)으로 설정하려고 시도했지만 매번 DragOver의 다음 트리거에서 None
이 될 것입니다.
Drop 이벤트가 발생하는 유일한 시간은 DragDropEffect가 All
또는 Move
으로 설정된 경우입니다. DragDropEffect.Copy
으로 변경하고 여전히 Drop 이벤트를 발생시키는 방법은 무엇입니까? DragDropEffect.Copy로 설정 한 후 e.Handled = true
을 설정했습니다.
편집 : 나는 사과하고, 나는 svi의 드래그 앤 드롭을 약간 조작했다. ScatterView의 OnManipulationStarted
에서 svi를 얻었고 svi.BeginDragDrop(svi.DataContext)
이라고합니다. 그게 내가 svi에게 한 모든 것입니다.
흠'Effects'와'AllowedEffects'를 섞어 봤어? AllowedEffects가 무엇인지 알 수 없으므로 DragEnter에서 DragEventArgs에 해당 속성이 없습니다. 나는'DragDrop.DoDragDrop'을 호출하지 않았고 대신'SurfaceDragCursor'를 생성하는'svi.BeginDragDrop'를 호출했습니다. 나는'DragDrop.DoDragDrop'으로 변경하고'DragEnter'는 지금도 실행하지 않습니다. 실례합니다. 드래그 앤 드롭 서피스 항목에 대한 지식은 여전히 매우 약합니다 ... –
'DragEnter'에서'(SurfaceDragDropEventArgs) .Cursor.AllowedEffects' 및'Move'를 확인했습니다. –
예, 나는 * 그들을 * 섞어서 ... 그 점을 지적 주셔서 감사합니다 ... 나는 지금 내 대답을 업데이 트했습니다. 또한, 'AllowedEffects'가'Move' 만 쓰면 움직일 수 있고 복사 할 수 없습니다. – Sheridan