【发布时间】:2010-12-31 03:42:30
【问题描述】:
有没有办法以简单的方式做到这一点? 检测到从 ListView 中拖动了一些东西,然后告诉 ViewModel 拖动了一些东西并告诉它是哪个项目。
注意:如果“正确”方法太复杂,我不介意不严格遵循 MVVM 的简单解决方案。
【问题讨论】:
标签: .net wpf mvvm drag-and-drop
有没有办法以简单的方式做到这一点? 检测到从 ListView 中拖动了一些东西,然后告诉 ViewModel 拖动了一些东西并告诉它是哪个项目。
注意:如果“正确”方法太复杂,我不介意不严格遵循 MVVM 的简单解决方案。
【问题讨论】:
标签: .net wpf mvvm drag-and-drop
Silverlight Toolkit 包含一个拖放实现,我很确定它可以在直接的 WPF 中编译而没有太多麻烦。这些是您可以在 XAML 中添加到您的视图中的行为和属性,然后您只需处理对您的ItemsControl 绑定的ObservableCollection 的修改。纯 MVVM。
如果您想要一个比在 Silverlight Toolkit 上进行手术更简单的起点,您可以使用 Silverlight Toolkit 拖放支持的作者使用的相同灵感,Bea Stollnitz 的文章:
还有另一个实现,它更面向 Blend:
如果您没有 Blend,请不要害怕;您仍然可以通过免费的Expression Blend SDK 来使用对 MVVM 友好的行为。
【讨论】: