欢迎来到我的博客
Civil 3D开发与应用,欢迎加入QQ群:484124761
AutoCAD开发,欢迎加入QQ群:193522571

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);
}

修改后窗体正常显示在设计窗口。

 

posted @   david96007  阅读(42)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示