首页 > 其他分享 >AutoCAD Blockview .net在wpf项目中的问题

AutoCAD Blockview .net在wpf项目中的问题

时间:2024-11-12 09:07:33浏览次数:1  
标签:Int32 AutoCAD DisposableWrapper mpDevice Blockview GsPreviewCtrl 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);
}

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

 

标签:Int32,AutoCAD,DisposableWrapper,mpDevice,Blockview,GsPreviewCtrl,wpf
From: https://www.cnblogs.com/myzw/p/18541084

相关文章

  • 使用 Hosting 构建 WPF 程序
    .NETGenericHost是一个通用的应该程序构建方式,不只是适用于asp.netcore,可以用在任何.NET项目中。具体支持的.NET框架可以看这里NuGetGallery|Microsoft.Extensions.Hosting8.0.1.NETGenericHost-.NET|MicrosoftLearn本文用于记录使用.NETGenericHost......
  • wpf combobox绑定到enum
    搜索到这个网页在其中发现了这个方法,比较简单:publicenumRULE{[Description("Любые,безограничений")]any,[Description("Любыееслибудеттривряд")]anyThree,[Descri......
  • wpf项目使用winform控件
    环境:Win10、VS2017一、新建WPF项目  2.WPF项目添加System.Windows.Forms和WindowsFormsIntegration引用  3. 编写WPF窗体代码3.1.头部添加引用1xmlns:wf="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms"2xmlns:wfi="clr-namespace:S......
  • wpf中取消按钮的默认样式
    <Stylex:Key="TransparentButton"TargetType="Button"><SetterProperty="Background"Value="Transparent"/><SetterProperty="BorderThickness"Value="0"/><SetterP......
  • WPF在MVVM模式下怎么实现导航功能
    在mvvm的模式下wpf通过frame实现页面跳转_哔哩哔哩_bilibili视频讲解同步可观看如下图,我们要实现点击左侧的菜单,在右侧展示不同的页面实现代码如下:一、如何从主窗体跳转到页面。1、在mainwindow.xaml的菜单栏代码里加入如下代码​ <BorderBorderBrush="#3c5254"Bord......
  • WPF 集合操作进阶:提取特定字段、转换 ObservableCollection 和过滤数据
    文章目录1.引言2.从List<T>提取特定字段3.将List<T>转换为observableCollection<T>4.过滤List<T>集合5.总结6.完整示例代码1.引言在C#开发中,集合操作是非常常见的任务,特别是在数据处理和用户界面设计中。本文将介绍如何从List<T>中提取......
  • WPF+MVVM案例实战与特效(二十六)- 3D粒子方块波浪墙效果实现
    文章目录1、案例效果2、案例实现1、文件创建2.功能代码实现3、粒子功能应用1、前端布局与样式2、代码解释2、后端功能代码1、案例效果2、案例实现1、文件创建打开Wpf_Examples项目、Models文件夹下创建3D粒子模型类ParticleCubeWaveMode......
  • WPF MVVM入门系列教程(四、数据绑定演示)
    在前面的文章中,介绍了数据绑定功能及使用方法。本文会使用一些数据绑定的实例来进行演示。演示过程中,涉及了数据模板功能,如果对数据模板功能还不熟悉,可以参考下面的链接:https://learn.microsoft.com/zh-cn/dotnet/desktop/wpf/data/data-templating-overview?view=netframeworkd......
  • WPF 抖动动画
    .NETWPF抖动动画1Demo2Code<!--水平抖动--><ButtonContent="HelloWorld"><Button.RenderTransform><TranslateTransformx:Name="translateTransform"/></Button.RenderTransform><Butto......
  • WPF StatusBar控件 这一块也能放一些东西
    WPFStatusBar控件这一块也能放一些东西  StatusBar控件一般在窗口的底部。用于显示有关应用程序当前状态的各种信息,如光标位置、字数、任务进度等。<Windowx:Class="WpfApp14.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"......