【问题标题】:Detecting a "Drag" from WPF ListView and delegate it to its ViewModel从 WPF ListView 检测“拖动”并将其委托给其 ViewModel
【发布时间】:2010-12-31 03:42:30
【问题描述】:

有没有办法以简单的方式做到这一点? 检测到从 ListView 中拖动了一些东西,然后告诉 ViewModel 拖动了一些东西并告诉它是哪个项目。

注意:如果“正确”方法太复杂,我不介意不严格遵循 MVVM 的简单解决方案。

【问题讨论】:

    标签: .net wpf mvvm drag-and-drop


    【解决方案1】:

    Silverlight Toolkit 包含一个拖放实现,我很确定它可以在直接的 WPF 中编译而没有太多麻烦。这些是您可以在 XAML 中添加到您的视图中的行为和属性,然后您只需处理对您的ItemsControl 绑定的ObservableCollection 的修改。纯 MVVM。

    如果您想要一个比在 Silverlight Toolkit 上进行手术更简单的起点,您可以使用 Silverlight Toolkit 拖放支持的作者使用的相同灵感,Bea Stollnitz 的文章:

    还有另一个实现,它更面向 Blend:

    如果您没有 Blend,请不要害怕;您仍然可以通过免费的Expression Blend SDK 来使用对 MVVM 友好的行为。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-05-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多