다음을 통해 공유


WorkflowView.ShadowDepth 속성

정의

ShadowDepthWorkflowView를 가져오거나 설정합니다.

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

속성 값

Int32

픽셀 단위로 나타낸 그림자 수준입니다.

예제

다음 코드 예제에서는 WorkflowView 메서드를 사용하여 GetView 클래스의 인스턴스를 가져오는 방법을 보여 줍니다. 그런 다음 코드에서는 WorkflowView, HScrollBarVScrollBar를 포함한 여러 ShadowDepth 속성을 설정하고 FitToScreenSize 메서드를 호출합니다.

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

위의 코드에서 호출된 UnloadWorkflow 메서드는 새 워크플로를 준비하기 위해 현재 로드된 워크플로를 제거하며 다음과 같이 구현됩니다.

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

설명

워크플로 디자인 화면에 표시된 텍스트의 그림자 수준을 가져오거나 조정하려면 ShadowDepth를 사용합니다.

적용 대상