using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Activities.Design;
using System.Activities.Design.Metadata;
using System.Activities.Statements;
using System.ComponentModel;
using System.Activities.Core.Design;
namespace WF4Designer
{
///<summary>
/// Interaction logic for Window1.xaml
///</summary>
public partial class Window1 : Window
{
public Window1()
{
InitializeComponent();
AddDesigner();
}
private void AddDesigner()
{
//注册活动外观
//var builder = new AttributeTableBuilder();
//builder.AddCustomAttributes(typeof(Flowchart),
// new DesignerAttribute(typeof(SequenceDesigner)));
//MetadataStore.AddAttributeTable(builder.CreateTable());
new DesignerMetadata().Register();
var wd = new WorkflowDesigner();
wd.Load(new Flowchart());
Grid.SetColumn(wd.View, 1);
gridview.Children.Add(wd.View);
ToolboxControl toolbox = new ToolboxControl();
toolbox.Categories.Add(new ToolboxCategoryItemsCollection
{
new ToolboxItemWrapper(typeof(FlowSwitch)),
new ToolboxItemWrapper(typeof(FlowDecision))
});
gridview.Children.Add(toolbox);
Grid.SetColumn(toolbox, 2);
Grid.SetColumn(wd.PropertyInspectorView, 0);
gridview.Children.Add(wd.PropertyInspectorView);
}
}
}
现在能够进行拖放操作了,需要注意的是必须在加载工作流之前注册外观元数据,否则不起作用;另外没有找到FlowchartDesigner,不知道用哪一个Designer来对应Flowchart,还好在MSDN论坛上看到有人解答了,使用new DesignerMetadata().Register()注册所有Designer,这样可以Rehosting Flowchart工作流。
(全文完)
以下为广告部分
您部署的HTTPS网站安全吗?
如果您想看下您的网站HTTPS部署的是否安全,花1分钟时间来 myssl.com 检测以下吧。让您的HTTPS网站变得更安全!
快速了解HTTPS网站安全情况。
安全评级(A+、A、A-...)、行业合规检测、证书信息查看、证书链信息以及补完、服务器套件信息、证书兼容性检测等。
安装部署SSL证书变得更方便。
SSL证书内容查看、SSL证书格式转换、CSR在线生成、SSL私钥加解密、CAA检测等。
让服务器远离SSL证书漏洞侵扰
TLS ROBOT漏洞检测、心血漏洞检测、FREAK Attack漏洞检测、SSL Poodle漏洞检测、CCS注入漏洞检测。