WorkflowDesignerLoader 생성자
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
파생 클래스에서 구현되는 경우에는 WorkflowDesignerLoader 클래스의 새 인스턴스를 초기화합니다.
protected:
WorkflowDesignerLoader();
protected WorkflowDesignerLoader ();
Protected Sub New ()
예제
다음 예제에서는 WorkflowDesignerLoader 개체의 새 인스턴스를 만드는 방법을 보여 줍니다. 이 경우 WorkflowLoader
클래스는 WorkflowDesignerLoader에서 파생됩니다. WorkflowDesignerLoader를 만들면 DesignSurface가 동시에 만들어지고 WorkflowDesignerLoader 메서드를 사용하여 BeginLoad
에 연결됩니다.
private ICollection LoadWorkflow(Type workflowType)
{
WorkflowLoader loader = new WorkflowLoader();
loader.WorkflowType = workflowType;
return LoadWorkflow(loader);
}
private ICollection LoadWorkflow(WorkflowLoader loader)
{
SuspendLayout();
DesignSurface designSurface = new DesignSurface();
designSurface.BeginLoad(loader);
if (designSurface.LoadErrors.Count > 0)
return designSurface.LoadErrors;
IDesignerHost designerHost = designSurface.GetService(typeof(IDesignerHost)) as IDesignerHost;
if (designerHost != null && designerHost.RootComponent != null)
{
IRootDesigner rootDesigner = designerHost.GetDesigner(designerHost.RootComponent) as IRootDesigner;
if (rootDesigner != null)
{
UnloadWorkflow();
this.designSurface = designSurface;
this.loader = loader;
this.workflowView = rootDesigner.GetView(ViewTechnology.Default) as WorkflowView;
this.splitContainer1.Panel1.Controls.Add(this.workflowView);
this.workflowView.Dock = DockStyle.Fill;
this.workflowView.TabIndex = 1;
this.workflowView.TabStop = true;
this.workflowView.HScrollBar.TabStop = false;
this.workflowView.VScrollBar.TabStop = false;
this.workflowView.ShadowDepth = 0;
this.workflowView.EnableFitToScreen = true;
this.workflowView.Focus();
ISelectionService selectionService = GetService(typeof(ISelectionService)) as ISelectionService;
IComponentChangeService changeService = GetService(typeof(IComponentChangeService)) as IComponentChangeService;
if (selectionService != null)
{
selectionService.SelectionChanged += new EventHandler(OnSelectionChanged);
}
if (changeService != null)
{
changeService.ComponentAdded += new ComponentEventHandler(changeService_ComponentAdded);
changeService.ComponentChanged += new ComponentChangedEventHandler(changeService_ComponentChanged);
changeService.ComponentRemoved += new ComponentEventHandler(changeService_ComponentRemoved);
changeService.ComponentRename += new ComponentRenameEventHandler(changeService_ComponentRename);
}
}
}
ResumeLayout(true);
if (btnAutoSynch.Checked == true)
{
this.xomlView.Text = GetCurrentXoml();
}
return null;
}
Private Function LoadWorkflow(ByVal workflowType As Type) As ICollection
Dim loader As New WorkflowLoader()
loader.WorkflowType = workflowType
Return LoadWorkflow(loader)
End Function
Private Function LoadWorkflow(ByVal loader As WorkflowLoader) As ICollection
SuspendLayout()
Dim designSurface As New DesignSurface()
designSurface.BeginLoad(loader)
If designSurface.LoadErrors.Count > 0 Then
Return designSurface.LoadErrors
End If
Dim designerHost As IDesignerHost = CType(designSurface.GetService(GetType(IDesignerHost)), IDesignerHost)
If designerHost IsNot Nothing And designerHost.RootComponent IsNot Nothing Then
Dim rootDesigner As IRootDesigner = CType(designerHost.GetDesigner(designerHost.RootComponent), IRootDesigner)
If rootDesigner IsNot Nothing Then
UnloadWorkflow()
Me.designSurface = designSurface
Me.loader = loader
Me.workflowView = CType(rootDesigner.GetView(ViewTechnology.Default), WorkflowView)
Me.splitContainer1.Panel1.Controls.Add(Me.workflowView)
Me.workflowView.Dock = DockStyle.Fill
Me.workflowView.TabIndex = 1
Me.workflowView.TabStop = True
Me.workflowView.HScrollBar.TabStop = False
Me.workflowView.VScrollBar.TabStop = False
Me.workflowView.ShadowDepth = 0
Me.workflowView.EnableFitToScreen = True
Me.workflowView.Focus()
Dim selectionService As ISelectionService = CType(GetService(GetType(ISelectionService)), ISelectionService)
Dim changeService As IComponentChangeService = CType(GetService(GetType(IComponentChangeService)), IComponentChangeService)
If selectionService IsNot Nothing Then
AddHandler selectionService.SelectionChanged, AddressOf OnSelectionChanged
End If
If changeService IsNot Nothing Then
AddHandler changeService.ComponentAdded, AddressOf changeService_ComponentAdded
AddHandler changeService.ComponentChanged, AddressOf changeService_ComponentChanged
AddHandler changeService.ComponentRemoved, AddressOf changeService_ComponentRemoved
AddHandler changeService.ComponentRename, AddressOf changeService_ComponentRename
End If
End If
End If
ResumeLayout(True)
If btnAutoSynch.Checked = True Then
Me.xomlView.Text = GetCurrentXoml()
End If
Return Nothing
End Function