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窗体添加到类库项目里,需要采用一些奇淫巧技。


cad.net 2008使用WPF(摘录山人)_第1张图片

  

  1. 首先打开vs创建一个wpf应用项目。

    cad.net 2008使用WPF(摘录山人)_第2张图片

 

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

    cad.net 2008使用WPF(摘录山人)_第3张图片

 

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

    cad.net 2008使用WPF(摘录山人)_第4张图片

 

  1. 选择项模版,下一步

    cad.net 2008使用WPF(摘录山人)_第5张图片

 

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

    cad.net 2008使用WPF(摘录山人)_第6张图片

 

  1. 选择项引用,什么都不选,直接下一步。

    cad.net 2008使用WPF(摘录山人)_第7张图片

 

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

    cad.net 2008使用WPF(摘录山人)_第8张图片

 

现在可以在类库里添加的模版就创建好了,下面是怎么使用这个模版在类库里插入wpf窗体。首先以frameworks类库项目为例:

  1. 新建个类库项目
    cad.net 2008使用WPF(摘录山人)_第9张图片

     

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

    cad.net 2008使用WPF(摘录山人)_第10张图片

 

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

    cad.net 2008使用WPF(摘录山人)_第11张图片

 

  1. 然后记得添加 PresentationCore、PresentationFramework、System.Xaml(这个在2008没有的)、WindowsBase这四个引用。
    cad.net 2008使用WPF(摘录山人)_第12张图片 

    cad.net 2008使用WPF(摘录山人)_第13张图片
    (这里可以画一些按钮)

  2. 引用cad2008的dll


  3. 在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(摘录山人))