WorkflowView.ShadowDepth プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
ShadowDepth の 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
プロパティ値
ピクセル単位でのシャドウ深度。
例
次のコード例は、WorkflowView メソッドを使用して GetView クラスのインスタンスを取得する方法を示しています。 インスタンスの取得後に WorkflowView、HScrollBar、VScrollBar などのいくつかの 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 は、ワークフロー デザイン サーフェイス上に影付きでテキストを表示する場合に、その影の深さを取得または設定するために使います。