我正在wpf中创建我的第一个mvvm应用程序,到了需要将文件拖放到ListBox中的地步,我看不到其他方法可以执行此操作,但是使用DragEnter和Drop事件,然后添加通过将 View 的DataContext强制转换为我的ViewModel并从那里访问集合,从而将文件拖放到集合中,这确实很棒。
在放下事件的“我的 View ”中是这样的
(this.DataContext as ImageViewModel).ToUpload.Add(new ImageModel() { localfilelocation = fi.FullName })
但是还有其他方法吗?
最佳答案
老实说,拖放可能是MVVM发现最难自然融入其范式的 Activity 之一。但是,最常用的方法是使用附加行为。一个DragDropBehaviour
子类化Behavior<T>
可以让您了解ListBox
上的那些事件,并具有完全可重复使用的优点。
here就是一个很好的例子。
关于c# - 将文件拖放到列表框中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21090250/