WorkflowDesignerLoader Oluşturucu
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Türetilmiş bir sınıfta uygulandığında, sınıfının yeni bir örneğini WorkflowDesignerLoader başlatır.
protected:
WorkflowDesignerLoader();
protected WorkflowDesignerLoader ();
Protected Sub New ()
Örnekler
Aşağıdaki örnekte, bir WorkflowDesignerLoader nesnenin yeni bir örneğinin nasıl oluşturulacağı gösterilmektedir. Bu durumda, WorkflowLoader
sınıfı öğesinden WorkflowDesignerLoadertüretilir. WorkflowDesignerLoader oluşturulduğunda, bir DesignSurface de oluşturulur ve yöntemi kullanılarak BeginLoad
ile WorkflowDesignerLoader ilişkilendirilir.
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