wpf - Gong Drag&Drop:订阅drop事件
问题描述
我担心,这很明显我忽略了,但我有点卡住了:
我正在使用 Gong Solution Drag&Drop 库从一个视图拖放到另一个视图。我编写了一个自定义放置处理程序,它处理我的数据传输以及更新源和目标上的数据(ListView
在本例中)。
现在我希望与源视图对应的 ViewModel 类订阅目标视图中的放置事件。但是,我找不到 gong 库暴露的 drop 事件。我的下一个想法是在我的自定义拖放处理程序中编写我自己的事件,但是这些类与源 ViewModel 完全分离,那么我将如何订阅该事件?
一些代码(相关部分):
目标网格:
<Grid dd:DragDrop.IsDropTarget="True" dd:DragDrop.DropHandler="{StaticResource CustomDropHandler}">
<!-- Stuff in my view -->
</Grid>
自定义拖动处理程序(实际上并没有做任何事情,但是当我放置一个项目时,会在基类上触发一个放置的方法)
public class CustomDragHandler : DefaultDragHandler
{
public override void Dropped(IDropInfo dropInfo)
{
base.Dropped(dropInfo);
}
}
自定义 Drop Handler(这是我处理所有数据传输的地方):
public class CustomDropHandler : IDropTarget
{
public void DragOver(IDropInfo dropInfo)
{
dropInfo.Effects = DragDropEffects.Move;
dropInfo.DropTargetAdorner = DropTargetAdorners.Highlight;
}
public void Drop(IDropInfo dropInfo)
{
// Whole lot of logic in here, fired on drop.
}
}
解决方案
推荐阅读
- flutter - Flutter DatePicker 对话日期应该是阿拉伯数字,但我得到数字格式
- reactjs - 多个文件中的 redux-sage sagas
- arrays - 我需要做什么才能将字符串从类数组保存到普通字符串变量?
- reactjs - 如何使用带有单个文件输入字段的 react-hook-form 上传多个文件
- r - 如何在 R 中创建嵌套 for 循环以转换表中的值
- c# - 用源生成器替换反射
- javascript - 根据同一行中单元格的值停止编辑单元格
- ionic-framework - 将深色主题应用于 Ionic App 不会对 ionic 组件的样式进行任何更改
- java - 如何使用规范编写子查询
- php - 如何php检测windows server 10