从WPF控件拖放到Winform控件的注意事项
最近在开发一个项目时,需要在WPF窗体中嵌入Winform控件,在尝试从WPF控件拖放到Winform控件时遇到了一些问题,现将问题和解决方法总结如下:
1、如果自定义了拖拽实体类,如
public class DragObject
{
public string Name { get; set; }
}
应在类定义前加[Serializable]特性标记,否则在目标方接收数据时会提示“未将对象引用设置到对象实例”
2、在Winform端有时会出现不触发DragDrop事件的情况,该情况下应先触发DragEnter事件,在DragEnter事件中修改拖放效果,如e.Effect = DragDropEffects.Copy;修改后即可响应DragDrop事件,在DragDrop事件中可按如下方法获取拖放数据:DragObject dragObject = e.Data.GetData(typeof(DragObject)) as DragObject;
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步