private void UnloadWorkflow() { IDesignerHost designerHost = GetService(typeof(IDesignerHost)) as IDesignerHost; if (designerHost != null && designerHost.Container.Components.Count > 0) { WorkflowLoader.DestroyObjectGraphFromDesignerHost(designerHost, designerHost.RootComponent as Activity); } if (this.designSurface != null) { this.designSurface.Dispose(); this.designSurface = null; } if (this.workflowView != null) { Controls.Remove(this.workflowView); this.workflowView.Dispose(); this.workflowView = null; } }
private void LoadWorkflow() { SuspendLayout(); DesignSurface designSurface = new DesignSurface(); WorkflowLoader loader = new WorkflowLoader(); loader.WorkflowType = workflowTypeValue; loader.Xaml = xamlValue; designSurface.BeginLoad(loader); 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.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.Focus(); this.workflowView.FitToScreenSize(); } } ResumeLayout(true); }
private void LoadWorkflow() { SuspendLayout(); DesignSurface designSurface = new DesignSurface(); WorkflowLoader loader = new WorkflowLoader(); loader.WorkflowType = workflowTypeValue; loader.Xaml = xamlValue; designSurface.BeginLoad(loader); 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.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.Focus(); this.workflowView.FitToScreenSize(); } } ResumeLayout(true); }