【问题标题】:Drag and Drop Files into a Listbox将文件拖放到列表框中
【发布时间】:2014-01-13 11:33:17
【问题描述】:

我正在 wpf 中创建我的第一个 mvvm 应用程序,我需要将文件拖放到 ListBox 中,我看不到任何其他方法,但使用 DragEnter 和 Drop 事件,然后通过将视图的 DataContext 转换为我的 ViewModel 并从那里访问集合,将删除的文件添加到我的集合中,这真的很棒。

drop 事件中我的视图中的类似内容

 (this.DataContext as ImageViewModel).ToUpload.Add(new ImageModel() { localfilelocation = fi.FullName })

但是还有其他方法吗?

【问题讨论】:

    标签: c# wpf mvvm


    【解决方案1】:

    说实话,拖放可能是 MVVM 发现最难以自然融入其范例的活动之一。但是,最常用的方法是使用附加行为DragDropBehaviour,子类 Behavior<T> 将允许您在 ListBox 上挂钩这些事件,并具有完全可重用的优势。

    here 就是一个很好的例子。

    【讨论】:

    • +1 表示“老实说,拖放可能是 MVVM 发现最难以自然融入其范例的活动之一。”
    • 这正是我要找的,可重复使用的东西,我不知道这样的东西存在,感谢那个例子
    • 不使用Expression Blend的可以从包名下的nuget获取Behavior所需的类库:System.Windows.Interactivity v4.0 for WPF
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多