cad.net 2008使用WPF(摘录山人)
由于WPF的优点多多,而且在大量的winform的操作下感觉到数据操作的麻烦....推荐大家看杨中科WPF数据绑定教程 https://www.bilibili.com/video/av33883484/?p=1
在cad.net上面,类库项目不能简单进行新建WPF面板,但是依照下面教程就能成功将WPF面板写入cad2008项目内.
此篇引用山人的教程,原地址是: https://gitee.com/vicwjb/NFox/blob/master/doc/WPF.md
我只做了cad2008部分的修改和释疑.
由于在类库项目内,只能添加wpf的自定义控件项目。
如下图,你是不能添加wpf窗体到类库项目的。因此为了将wpf窗体添加到类库项目里,需要采用一些奇淫巧技。
- 首先打开vs创建一个wpf应用项目。
- 创建完之后什么,可以自定义一些内容,比如添加一些属性啊什么的,本示例保持默认。
- 然后菜单栏-项目-导出模版,打开导出模版向导。
- 选择项模版,下一步
- 只选择MainWindow.xaml文件,下一步
- 选择引用的dll。
- 在模版选项里填写模版名称、说明,还可以添加图标,然后点击完成。
现在可以在类库里添加的模版就创建好了,下面是怎么使用这个模版在类库里插入wpf窗体。首先以frameworks类库项目为例:
- 新建个类库项目
- 然后右键添加-新建项。
- 然后选择刚刚新建的模版,点击添加。 没有的话,要重启VS......
- 检查已经添加 PresentationCore、PresentationFramework、System.Xaml(这个在2008没有的,net4.5才要)、WindowsBase这四个引用。
(这里可以画一些按钮) - 引用cad2008的dll
- 在class1.cs内加入这些测试代码.生成dll,在cad加载就可以了.
using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.DatabaseServices;
using Autodesk.AutoCAD.EditorInput;
using Autodesk.AutoCAD.Runtime;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; namespace 类库的测试WPF
{
public class Class1
{
[CommandMethod("tt", CommandFlags.Modal)] //预选
public static void tt()
{
//当前的数据库
Database db = HostApplicationServices.WorkingDatabase;
Editor ed = Application.DocumentManager.MdiActiveDocument.Editor;
ed.WriteMessage(Environment.NewLine + "****cad2008测试WPF" + Environment.NewLine); //打开面板,设置成模态对话框
var form = new MyWindow1();
form.ShowDialog();
}
}
}
cad.net 2008使用WPF(摘录山人)的更多相关文章
- 【WPF】CAD工程图纸转WPF可直接使用的xaml代码技巧
前言:随着工业化的进一步发展,制造业.工业自动化等多领域,都可能用到上位监控系统.而WPF在上位监控系统方面,应该算是当下最流行的前端框架之一了.而随着监控体系的不断完善与更新迭代,监控画面会变得越来 ...
- LiveCharts文档-3开始-8自定义工具提示
原文:LiveCharts文档-3开始-8自定义工具提示 LiveCharts文档-3开始-8自定义工具提示 默认每个需要tooltip或者legend的chart都会初始化一个DefaultLeng ...
- 十余年软件开发经历,经验总结和程序一览(涉及Socket、WPF、vc++、CAD、图像、GIS)
前言 本文主要介绍我开发的几款软件产品,大概介绍一下功能.可以让读者了解本人的开发能力,所擅长的方面.有相关开发需求可以联系作者. 本人开发软件多年,从事的行业也多种多样:自然接触了不同的业务,开发了 ...
- 距离北京奥运还有359天,发布WPF版本的北京2008标志(上)
原文:距离北京奥运还有359天,发布WPF版本的北京2008标志(上) 效果图: XAML代码:<Canvas Width="343.581055" Height=" ...
- 距离北京奥运还有359天,发布WPF版本的北京2008标志(下)
原文:距离北京奥运还有359天,发布WPF版本的北京2008标志(下) 图片显示效果: XAML代码: <Viewbox Width="463.548828" Height ...
- WPF中CAD control的XAML实现
原文:WPF中CAD control的XAML实现 下面这个XAML文件是cad control里面最重要的一部分,使用Grid包含Viewport,Viewport中包括Camera和mod ...
- WPF中使用TranslateTransform3D修改CAD的3D旋转中心
原文:WPF中使用TranslateTransform3D修改CAD的3D旋转中心 前面一篇文章讲述了2D旋转功能的实现,文章提到了修改3D旋转中心,这一节主要总结一下具体的修改3D旋转 ...
- WPF中使用AxisAngleRotation3D实现CAD的2D旋转功能
原文:WPF中使用AxisAngleRotation3D实现CAD的2D旋转功能 对于CAD图形来说,3D旋转比较常用,具体实现方法在上篇文章<WPF中3D旋转的实现 >中做了 ...
- WPF在3D Cad模型中利用TextureCoordinates实现颜色渐变显示偏差值的变化
原文:WPF在3D Cad模型中利用TextureCoordinates实现颜色渐变显示偏差值的变化 注:最近在做3D机械模型重建方面的软件,需要根据光栅传感器采集的数据绘制3D图形,并显示出色差以及 ...
随机推荐
- 一次性删除master数据库中的所有用户添加的表
执行查询命令 use master; go sp_msforeachtable @command1="drop table ?" go
- Linux纯小白操作(以安装JDK为例)
[本文只针对纯小白,有基础的请略过] 最近公司给分配工作使用的虚拟机都是Linux系统的,以前完全没接触过,今天按照网上一些教程操作,好多地方感觉对小白不够友好(有些问题非常小白那些教程没有写出来.我 ...
- javascript DOM中的节点层次和节点类型概述
针对JS高级程序设计这本书,主要是理解概念,大部分要点源自书内.写这个主要是当个笔记加总结 存在的问题请大家多多指正! 因为DOM这方面的对象方法操作性都特别强,但是逻辑很简单,所以就没有涉及到实际的 ...
- JS 将数值取整为10的倍数
问题描述: 将数值处理为 10 的倍数,并支持向上或者向下取整 如将 2345 可以处理为 2300 | 2400 | 3000 | 2000 解决方案: /** * 将数字取整为10的倍数 * @p ...
- current transaction is aborted, commands ignored until end of transaction block
current transaction is aborted, commands ignored until end of transaction block Error updating datab ...
- Django Template语法中 OneToOne、ForeignKey 外键查询
主表的Models的结构 class A(models.Model): username = models.CharField(max_length=32, verbose_name='用户名称') ...
- D. Maxim and Array
https://www.cnblogs.com/qscqesze/p/5925893.html 原博客 http://codeforces.com/group/1EzrFFyOc0/contest/ ...
- bloginfo()用法小结|wordpress函数
bloginfo()显示关于您的wordpress站点的信息,主要是从您的用户配置文件和WordPress管理屏幕的一般设置中收集的信息.它可以在模板文件的任何地方使用.这总是将结果打印到浏览器.如果 ...
- 15-cmake语法-math
math 数学表达式 math(EXPR <output variable> <math expression>) 例子: math(EXPR VAR "${VAR} ...
- 使用面向对象思想封装js(附实例)
平时在写js时应该用面向对象思想将每一组功能封装成一个模块,可实现模块间的高内聚低耦合.重用.结构清晰........... 如果页面中逻辑复杂.功能多,不使用模块封装是不可想象的,维护起来非常复杂. ...