Bagikan melalui


IDesignerGlyphProvider.GetGlyphs(ActivityDesigner) Metode

Definisi

Mengembalikan array glyph yang terkait dengan perancang aktivitas yang ditentukan.

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

Parameter

activityDesigner
ActivityDesigner

Objek ActivityDesigner untuk mengambil glyph.

Mengembalikan

Array DesignerGlyph objek untuk dirender ke perancang aktivitas.

Contoh

Contoh kode berikut menunjukkan bagaimana Anda dapat mengimplementasikan GetGlyphs metode untuk menggambar objek glyph kustom pada permukaan perancang aktivitas.

Contoh kode ini adalah bagian dari Sampel SDK Monitor Alur Kerja dari file DesignerGlyphProvider.cs. Untuk informasi selengkapnya, lihat Monitor Alur Kerja.

//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

Berlaku untuk

Lihat juga