我在 WPF + Catel + MVVM 上有一个应用程序。我需要通过获取文件的完整路径来实现将文件从资源管理器拖放到程序中。怎么可能实施?是否有任何支持 MVVM 模型的库?我查看了gon-wpf-dragdrop库,但据我了解,它不支持从资源管理器拖动到程序。
UPD1。
谢谢@Andrew,但您的回答需要我在代码隐藏中处理事件。虽然这会给我我想要的数据,但我没有选择将它传递给我的视图模型。我需要以下语法:
<ListView Grid.Row="1" Grid.Column="0" Background="Transparent"
ItemsSource="{Binding MyViewModelObservableCollection}"
AllowDrop = "True"
Drop = "{Binding TheDropHandlerInTheViewModel, PassTheDropEventArgs}"
DragOver = "{Binding TheDragOverHandlerInTheViewModel, PassTheDrageEventArgs}">
</ListView>
解决方案
gong-wpf-dragdrop
(顺便说一句,它正在被削减,2.0 版本将支持.Net.Core 3)。视图模型:
如您所见,一切正常:
不要忘记 XAML:
也就是说,这两个属性的存在都很重要: