IDesignerGlyphProvider.GetGlyphs(ActivityDesigner) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает массив глифов, связанных с указанным конструктором операций.
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 для отрисовки объектов глифов в рабочей области конструктора операции.
Этот пример кода является частью образца пакета SDK «Workflow Monitor», взятого из файла DesignerGlyphProvider.cs. Дополнительные сведения см. в разделе Монитор рабочих процессов.
//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