cad.net cad2008使用WPF(摘录山人)

时间:2024-03-06 11:08:26

说明

由于WPF的优点多多,而且在大量的winform的操作下感觉到数据操作的麻烦....

推荐大家看杨中科WPF数据绑定教程 https://www.bilibili.com/video/av33883484/?p=1

在cad.net上面,类库项目不能简单进行新建WPF面板,但是依照下面教程就能成功将WPF面板写入cad2008项目内.

此篇引用山人的教程,原地址是: https://gitee.com/inspirefunction/NFox/blob/master/doc/WPF.md

我只做了cad2008部分的修改和释疑.

 

由于在类库项目内,只能添加wpf的自定义控件项目.

如下图,你是不能添加wpf窗体到类库项目的.

因此为了将wpf窗体添加到类库项目里,需要采用一些奇淫巧技.

  

 

创建模板

1.创建一个wpf应用项目

 

  

2.创建完之后什么,可以自定义一些内容,比如添加一些属性啊什么的,本示例保持默认

   

 

3.然后菜单栏-项目-导出模版,打开导出模版向导

 

4.选择项模版,下一步

 

5.只选择MainWindow.xaml文件,下一步

  

6.选择引用的dll..不选...

7.在模版选项里填写模版名称、说明,还可以添加图标,然后点击完成。

 

调用

现在可以在类库里添加的模版就创建好了,

下面是怎么使用这个模版在类库里插入wpf窗体.首先以frameworks类库项目为例:

 

1.新建个类库项目

 

2.然后右键添加-新建项。

 

3.然后选择刚刚新建的模版,点击添加。 没有的话,要重启VS......

 

4.检查已经添加

PresentationCore、PresentationFramework、System.Xaml(这个在2008没有的,net4.5才要)、WindowsBase这四个引用

然后可以画一些按钮...
 

5.引用cad2008的dll


6.在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();  
        }
    }
}

 

 

 

(完)