看了下, IRegisterMetadata 接口的自定方法,发现自己代码写好了后怎么都不行。Search了一下工程发现也没有别的地方用到DesignerMetadata类。

试验了一下和CodeActivity的继承类放同一个dll,没效果。

然后放在不同的dll也没有效果。

后来终于找到问题就是dll名后加.Design,如果CodeActivity放在Penseesoft.WorkFlow.ActivityLibrary.dll里,Designer就一定要放在Penseesoft.WorkFlow.ActivityLibrary.Design.dll里。

 

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Activities.Presentation.Metadata;
using System.ComponentModel;
using Penseesoft.WorkFlow.ActivityLibrary;
using System.Windows;

namespace Penseesoft.WorkFlow.ActivityLibrary.Design
{
    public class DesignerMetadata : IRegisterMetadata
    {

        public void Register()
        {
            AttributeTableBuilder builder = new AttributeTableBuilder();
            builder.AddCustomAttributes(typeof(LeaveFlowActivity), new DesignerAttribute(typeof(LeaveFlowDesigner)));
            builder.AddCustomAttributes(typeof(First2of3), new DesignerAttribute(typeof(First2of3Designer)));
            MetadataStore.AddAttributeTable(builder.CreateTable());
        }
    }
}

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-09
  • 2021-07-31
  • 2021-11-28
猜你喜欢
  • 2021-08-11
  • 2021-10-23
  • 2021-09-23
  • 2021-08-28
  • 2022-12-23
相关资源
相似解决方案