将 ListView 设置为 Windows 10 个通用应用程序上文件的放置目标
Setup ListView as a drop target for files on Windows 10 Universal Apps
我在 XAML 中声明了以下元素:
<ListView Name='mPlaylist' AllowDrop='True' DragEnter='HandlePlaylist_DragEnter' Drop='HandlePlaylist_Drop' />
当我使用鼠标将文件从 Windows 资源管理器或桌面拖动到我的 ListView 时,将执行 DragEnter 处理程序并且我可以设置的 AcceptedOperation 成员将 DragEventArgs 设置为 Link(并将 Handled 设置为 true)。到目前为止,还不错。
当我释放左键单击时,永远不会触发 Drop 事件处理程序。我不明白为什么不。
当我将文件拖到 ListView 上时,光标变为 stop/invalid 光标,文件缩略图被红叉覆盖(尽管我将 AcceptedOperation 设置为与 RequestedOperations 之一相匹配 - Link).
虽然可能无关,但缩略图也会向上和向左跳,与光标有一定距离。将光标移到 ListView 上,缩略图不会与光标保持恒定距离 - 我也无法弄清楚。
我在 PC 上工作,并在 VS2015 RC 中使用 10.0.10069.0 版通用应用程序平台。
任何关于我可以做些什么来导致 Drop 事件在我的 ListView 上触发的想法(甚至可能修复缩略图 'separating' 本身在 ListView 上时光标的视觉故障)将是非常好的非常感谢。
解决方案是使用 DragOver 事件设置 DragEventArgs 的 AcceptedOperation 成员,而不是 DragEnter。
感谢 Igor Ralic 在他的 blog 上发布解决方案。
我在 XAML 中声明了以下元素:
<ListView Name='mPlaylist' AllowDrop='True' DragEnter='HandlePlaylist_DragEnter' Drop='HandlePlaylist_Drop' />
当我使用鼠标将文件从 Windows 资源管理器或桌面拖动到我的 ListView 时,将执行 DragEnter 处理程序并且我可以设置的 AcceptedOperation 成员将 DragEventArgs 设置为 Link(并将 Handled 设置为 true)。到目前为止,还不错。
当我释放左键单击时,永远不会触发 Drop 事件处理程序。我不明白为什么不。
当我将文件拖到 ListView 上时,光标变为 stop/invalid 光标,文件缩略图被红叉覆盖(尽管我将 AcceptedOperation 设置为与 RequestedOperations 之一相匹配 - Link).
虽然可能无关,但缩略图也会向上和向左跳,与光标有一定距离。将光标移到 ListView 上,缩略图不会与光标保持恒定距离 - 我也无法弄清楚。
我在 PC 上工作,并在 VS2015 RC 中使用 10.0.10069.0 版通用应用程序平台。
任何关于我可以做些什么来导致 Drop 事件在我的 ListView 上触发的想法(甚至可能修复缩略图 'separating' 本身在 ListView 上时光标的视觉故障)将是非常好的非常感谢。
解决方案是使用 DragOver 事件设置 DragEventArgs 的 AcceptedOperation 成员,而不是 DragEnter。
感谢 Igor Ralic 在他的 blog 上发布解决方案。