WPF拖放到DataGrid

use*_*752 12 wpf datagrid drag-and-drop

我一直在寻找互联网的高低,但找不到一些可以帮助我的例子.

我正在用wpf开发一个应用程序,在其中我用了一个DataGrid; 每个细胞都有一个DataTemplate带有图像的马赛克风格; 在网格的一侧,我有一些瓷砖在网格上使用.

我能够拖动瓷砖但不能将它们放在网格上,因为我找不到制作掉落的单元格.有没有办法从拖拽事件中获取单元格位置?

谢谢

Jam*_*ell 41

看看这些:

  1. 拖放
  2. 使用数据对象
  3. 拖放操作方法主题
  4. 拖放样本
  5. 使用拖放移动WPF DataGrid行
  6. MVVM和WPF DataGrid w/demo app
  7. DataGrid提示与技巧:行拖放

那会让你到达你需要的地方.

  • 因为它是菜鸟 (4认同)
  • @ user267752我希望这回答了你的问题,请将其标记为已回答,如果有的话.非常感谢你. (4认同)
  • 这个答案很好,但是一旦这些链接生效,它就会死掉。 (4认同)

小智 1

我假设您订阅了 DataGrid 上的放置事件。

由于每个单元格都有一个 DataTemplate,因此您可以从单元格订阅 drop 事件,并且您应该能够通过 e.Source 进行所需的修改。

如果需要,您可以为每列定义不同的 DataTemplate,以便您可以计算该列,然后通过以下方式修改数据

BusinessObject row = ((UIElementResponsibleForTeDrop)e.Source).DataContext;
Run Code Online (Sandbox Code Playgroud)