IDesignerGlyphProvider.GetGlyphs(ActivityDesigner) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
傳回與指定之活動設計工具關聯的圖像陣列。
public:
System::Workflow::ComponentModel::Design::ActivityDesignerGlyphCollection ^ GetGlyphs(System::Workflow::ComponentModel::Design::ActivityDesigner ^ activityDesigner);
public System.Workflow.ComponentModel.Design.ActivityDesignerGlyphCollection GetGlyphs (System.Workflow.ComponentModel.Design.ActivityDesigner activityDesigner);
abstract member GetGlyphs : System.Workflow.ComponentModel.Design.ActivityDesigner -> System.Workflow.ComponentModel.Design.ActivityDesignerGlyphCollection
Public Function GetGlyphs (activityDesigner As ActivityDesigner) As ActivityDesignerGlyphCollection
參數
- activityDesigner
- ActivityDesigner
要為其擷取圖像的 ActivityDesigner 物件。
傳回
要呈現給活動設計工具的 DesignerGlyph 物件陣列。
範例
下列程式碼範例示範如何實作 GetGlyphs 方法,在活動設計工具介面上繪製自訂圖像物件。
這個程式碼範例是 DesignerGlyphProvider.cs 檔案中<工作流程監視器 SDK>範例的一部分。 如需詳細資訊,請參閱 工作流程監視器。
//Custom glyphprovider used to draw the monitor glyphs on the designer surface
internal class WorkflowMonitorDesignerGlyphProvider : IDesignerGlyphProvider
{
private Dictionary<string, ActivityStatusInfo> activityStatusList;
internal WorkflowMonitorDesignerGlyphProvider(Dictionary<string, ActivityStatusInfo> activityStatusList)
{
this.activityStatusList = activityStatusList;
}
ActivityDesignerGlyphCollection IDesignerGlyphProvider.GetGlyphs(ActivityDesigner activityDesigner)
{
ActivityDesignerGlyphCollection glyphList = new ActivityDesignerGlyphCollection();
//Walk all of the activities and use the 'CompletedGlyph' for all activities that are not 'closed'
foreach (ActivityStatusInfo activityStatus in activityStatusList.Values)
{
if (activityStatus.Name == activityDesigner.Activity.QualifiedName)
{
if (activityStatus.Status == "Closed")
glyphList.Add(new CompletedGlyph());
else
glyphList.Add(new ExecutingGlyph());
}
}
return glyphList;
}
}
'Custom glyphprovider used to draw the monitor glyphs on the designer surface
Friend Class WorkflowMonitorDesignerGlyphProvider
Implements IDesignerGlyphProvider
Dim activityStatusList As Dictionary(Of String, ActivityStatusInfo)
Friend Sub New(ByVal activityStatusList As Dictionary(Of String, ActivityStatusInfo))
Me.activityStatusList = activityStatusList
End Sub
Public Function GetGlyphs(ByVal activityDesigner As System.Workflow.ComponentModel.Design.ActivityDesigner) As System.Workflow.ComponentModel.Design.ActivityDesignerGlyphCollection Implements System.Workflow.ComponentModel.Design.IDesignerGlyphProvider.GetGlyphs
Dim glyphList As ActivityDesignerGlyphCollection = New ActivityDesignerGlyphCollection()
'Walk all of the activities and use the 'CompletedGlyph' for all activities that are not 'closed'
For Each activityStatus As ActivityStatusInfo In activityStatusList.Values
If activityStatus.Name = activityDesigner.Activity.Name Then
If activityStatus.Status = "Closed" Then
glyphList.Add(New CompletedGlyph())
Else
glyphList.Add(New ExecutingGlyph())
End If
End If
Next
Return glyphList
End Function
End Class