Freigeben über


Hosten von Workflow-Designern

Obgleich eine Visual Studio-Version des visuellen Workflow-Designers von Windows Workflow Foundation Workflow verfügbar ist, kann der Workflow-Designer in Windows-Anwendungen außerhalb von Visual Studio gehostet werden. Sie können den grafikbasierten Workflow-Designer in den eigenen benutzerdefinierten Windows-Anwendungen hosten. Benutzerdefinierte Anwendungen können ein einfaches Formular des Workflow-Designers mit grundlegenden Designerfunktionen wie der grafischen Darstellung eines vordefinierten Workflows implementieren. Zudem besteht die Möglichkeit, eine Version des Workflow-Designers zu implementieren, die über einen robusteren Featuresatz verfügt (vergleichbar mit der Visual Studio-Version des Designers).

Folgende primäre Klassen sind beim Hosten eines Workflow-Designers zu verwenden:

  • Die .NET DesignSurface-Klasse, die Vorgänge implementiert, die der Benutzer als Designer erkennt, und zwar durch Bereitstellen einer vollständig in sich geschlossenen Entwurfsoberfläche.

  • Die WorkflowView-Klasse, die eine visuelle Darstellung eines Workflows anzeigt, der in Workflowmarkup beschrieben wird.

  • Die WorkflowDesignerLoader-Klasse, die benutzerdefiniertes Laden eines Workflow-Designers sowie das Laden von Workflow-Designer-Komponenten unterstützt.

  • Die WorkflowDesignerMessageFilter-Klasse, die abgeleitet werden kann, um einen benutzerdefinierten Nachrichtenfilter zu erstellen, der Workflow-Designerereignisse wie Ziehvorgänge, Layout- und Zeichenvorgänge und andere Designerereignisse durch Überschreiben der entsprechenden virtuellen Methoden behandeln kann.

Im Beispiel Basic Designer Hosting wird das Erstellen einer einfachen Version des in einer Windows-Anwendung gehosteten Workflow-Designers mithilfe dieser Klassen gezeigt.

Das WorkflowDesigner-Steuerelement, das zum Workflow Tracking Profile Designer gehört, bildet eine geeignete Ausgangsbasis für eine benutzerdefinierte Workflow-Designer-Hostinganwendung. Das WorkflowDesigner-Steuerelement ermöglicht das problemlose Hinzufügen und Erweitern der Funktionen eines Workflow-Designers in einer Hostanwendung.

Hinzufügen von Menübefehlsfunktionen

Da der Workflow-Designer auf Basis von grundlegenden Designerklassen im .NET Framework SDK erstellt wurde, um auf Menübefehle in der benutzerdefinierten Anwendung zuzugreifen, müssen Sie ihn von der MenuCommandService-Klasse ableiten, einige der Member überschreiben und ihn dem Designerladeprogramm-Host, der vom Workflow-Ladeprogrammobjekt verwendet wird, als Dienst hinzufügen.

Das folgende Beispiel veranschaulicht das Erstellen einer benutzerdefinierten MenuCommandService-Klasse. In diesem Beispiel wird ein Kontextmenü erstellt, wenn ShowContextMenu aufgerufen wird. In der GetSelectionMenuItems-Methode wird die WorkflowMenuCommands-Klasse verwendet, um die vom Workflow-Designer bereitgestellten Menübefehle dem entsprechenden Text zuzuordnen. Anschließend wird jedem Befehl ein Ereignishandler zugeordnet, damit bei der Auswahl des Befehls der entsprechende MenuCommand aufgerufen wird.

Im folgenden Beispiel wird gezeigt, wie der abgeleitete MenuCommandService-Typ einem Designerladeprogramm-Host in einer überschriebenen Initialize-Methode auf einem von WorkflowDesignerLoader abgeleiteten Typ hinzugefügt wird.

Nachfolgend finden Sie die Befehle mit den Standardimplementierungen, die Sie in der Anwendung verwenden können:

Die restlichen Befehle in WorkflowMenuCommands und StandardCommands sind von Ihnen zu implementieren.

Für Befehle wie Undo und MultiLevelUndo ist es erforderlich, Ableitungen von den folgenden Schnittstellen und Klassen zu bilden und diese zu implementierten:

Nach dem Erstellen dieser abgeleiteten Dienstklassen müssen diese der zuvor beschriebenen überschriebenen Initialize-Methode hinzugefügt werden.

Zudem müssen alle von Benutzern implementierten Befehle dem abgeleiteten MenuCommandService-Typ mithilfe der AddCommand-Methode hinzugefügt werden, sodass bei einem Zugriff auf den Befehl im Designer der erforderliche Ereignishandler aufgerufen wird.

Weitere Informationen finden Sie unter Extending Design-Time Support im .NET Framework SDK.

Beispiel für Designerhosting

In den folgenden Beispielen wird gezeigt, wie der Workflow-Designer gehostet wird:

  • Basic Designer Hosting – Zeigt eine einfache Version des in einer Windows-Anwendung gehosteten Workflow-Designers.

  • Outlook Workflow Wizard – Zeigt mit der WorkflowView-Klasse, wie mit dem Windows Workflow Foundation-Workflowobjektmodell eine Workflowdefinition erstellt wird, die mithilfe des Workflow-Designers visualisierbar ist.

  • Workflow Monitor – Zeigt, wie mit dem Workflow-Designer ein Tool zum Anzeigen der Workflow- und Aktivitätsstatusinformationen erstellt wird.

  • Workflow Tracking Profile Designer – Zeigt, wie mit dem WorkflowDesigner-Steuerelement ein Tool zum Unterstützen der Erstellung von Überwachungsprofilen aus Workflowdefinitionen erstellt wird.

Siehe auch

Referenz

WorkflowView
WorkflowDesignerLoader
WorkflowDesignerMessageFilter

Weitere Ressourcen

Basic Designer Hosting
Outlook Workflow Wizard
Workflow Monitor
Workflow Tracking Profile Designer

Footer image

Copyright © 2007 by Microsoft Corporation. Alle Rechte vorbehalten.