AutoCAD Blockview .net在wpf项目中的问题
之前使用Blockview是遇到平移的问题,
这几天在学习使用CommunityToolkit.MVVM框架来创建用户界面,
当创建GsPreviewCtrl控件时会遇到错误,
导致整个窗体不能显示,
错误信息如下:
************** 异常文本 ************** System.InvalidProgramException: 公共语言运行时检测到无效的程序。 在 Autodesk.AutoCAD.Runtime.DisposableWrapper.op_Inequality(DisposableWrapper a, DisposableWrapper b) 在 BlockView.NET.GsPreviewCtrl.InternalOnSizeChanged() 位置 D:\MYZW\repos\SlopeDrawingAssistant\DrawingAssistant\GsPreviewCtrl.cs:行号 590 在 BlockView.NET.GsPreviewCtrl.OnSizeChanged(EventArgs e) 位置 D:\MYZW\repos\SlopeDrawingAssistant\DrawingAssistant\GsPreviewCtrl.cs:行号 583 在 System.Windows.Forms.Control.UpdateBounds(Int32 x, Int32 y, Int32 width, Int32 height, Int32 clientWidth, Int32 clientHeight)
对应的代码如下:
if (mpDevice != null) { mpDevice.OnSize(this.Size); }
针对错误信息来分析,
这里的≠符号应该是调用了Autodesk.AutoCAD.Runtime.DisposableWrapper.op_Inequality()方法,
这个方法在这里应该是无法运行,
于是修改代码如下:
if (!(mpDevice is null)) { mpDevice.OnSize(this.Size); }
修改后窗体正常显示在设计窗口。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?