WorkflowView.ShadowDepth Property
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Gets or sets the ShadowDepth for the WorkflowView.
public:
property int ShadowDepth { int get(); void set(int value); };
public int ShadowDepth { get; set; }
member this.ShadowDepth : int with get, set
Public Property ShadowDepth As Integer
Property Value
The shadow depth in pixels.
Examples
The following code example demonstrates how you can obtain an instance of the WorkflowView class using the GetView method. The code then sets several WorkflowView properties, including HScrollBar and VScrollBar, ShadowDepth, and calls the FitToScreenSize method.
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);
}
}
}
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
The UnloadWorkflow
method that is called in the code above removes a currently loaded workflow in order to prepare for the loading of a new workflow and is implemented as follows:
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 Sub UnloadWorkflow()
Dim designerHost As IDesignerHost = CType(GetService(GetType(IDesignerHost)), IDesignerHost)
If designerHost IsNot Nothing And designerHost.Container.Components.Count > 0 Then
WorkflowLoader.DestroyObjectGraphFromDesignerHost(designerHost, CType(designerHost.RootComponent, Activity))
End If
If Me.designSurface IsNot Nothing Then
Me.designSurface.Dispose()
Me.designSurface = Nothing
End If
If Me.workflowView IsNot Nothing Then
Controls.Remove(Me.workflowView)
Me.workflowView.Dispose()
Me.workflowView = Nothing
End If
End Sub
Remarks
Use the ShadowDepth to get or adjust the shadow depth of text shown on the workflow design surface.