Verwenden des Bearbeitungsbereichs
Dieses Thema gilt für Windows Workflow Foundation 4.
In diesem Beispiel wird veranschaulicht, wie eine Gruppe von Änderungen als Stapel verarbeitet wird, sodass sie in einer einzigen atomarischen Einheit rückgängig gemacht werden können. Die von einem Aktivitätsdesigner vorgenommenen Änderungen werden standardmäßig automatisch in das Rückgängig/Wiederholen-System integriert.
Veranschaulicht
Bearbeitungsbereich und Rückgängig und Wiederholen.
Diskussion
In diesem Beispiel wird veranschaulicht wie ein Satz von Änderungen an der ModelItem-Struktur in einem einzelnen Arbeitsschritt als Stapel verarbeitet wird. Beachten Sie, dass beim Binden an ModelItem-Werte direkt von einem WPF-Designer Änderungen automatisch übernommen werden. In diesem Beispiel wird veranschaulicht, was erforderlich ist, wenn mehrere Änderungen, die als Stapel verarbeitet werden sollen, durch imperativen Code vorgenommen werden, und nicht als eine Änderung.
In diesem Beispiel werden drei Aktivitäten hinzugefügt. Wenn Bearbeitung beginnt, wird BeginEdit in einer Instanz von ModelItem aufgerufen. An der ModelItem-Struktur innerhalb dieses Bearbeitungsbereichs vorgenommene Änderungen werden als Stapel verarbeitet. Der BeginEdit-Befehl gibt einen EditingScope zurück, der verwendet werden kann, um diese Instanz zu steuern. OnComplete oder OnRevert kann aufgerufen werden, um einen Commit für den Bearbeitungsbereich auszuführen oder ihn wiederherzustellen.
Sie können auch EditingScope-Objekte schachteln, sodass mehrere Sätze von Änderungen als Teil eines größeren Bearbeitungsbereichs verfolgt werden und einzeln gesteuert werden können. Ein Szenario für diese Funktion wäre, wenn ein Commit für Änderungen von mehreren Dialogfeldern ausgeführt werden muss oder sie getrennt wiederhergestellt werden müssen, wobei alle Änderungen als einzelner atomarischer Vorgang behandelt werden. In diesem Beispiel werden die Bearbeitungsbereiche mit ObservableCollection des Typs ModelEditingScope gestapelt. ObservableCollection wird verwendet, damit die Tiefe der Schachtelung auf der Designeroberfläche angezeigt werden kann.
So richten Sie das Beispiel ein, erstellen es und führen es aus
Erstellen Sie das Beispiel, und führen Sie es aus. Verwenden Sie dann die Schaltflächen links, um den Workflow zu ändern.
Klicken Sie auf Bearbeitungsbereich öffnen.
Dieser Befehl ruft BeginEdit auf, womit ein Bearbeitungsbereich erstellt und auf den Bearbeitungsstapel verschoben wird.
Dem ausgewählten ModelItem werden dann drei Aktivitäten hinzugefügt. Beachten Sie, dass, wenn der Bearbeitungsbereich nicht mit BeginEdit geöffnet worden wäre, drei neue Aktivitäten auf dem Designerzeichenbereich angezeigt werden würden. Da dieser Vorgang immer noch in EditingScope aussteht, wird der Designer noch nicht aktualisiert.
Klicken Sie auf Bearbeitungsbereich schließen, um einen Commit für den Bearbeitungsbereich auszuführen. Drei Aktivitäten werden im Designer angezeigt.
Hinweis: |
---|
Die Beispiele sind möglicherweise bereits auf dem Computer installiert. Überprüfen Sie das folgende (standardmäßige) Verzeichnis, bevor Sie fortfahren.
<Installationslaufwerk>:\WF_WCF_Samples
Wenn dieses Verzeichnis nicht vorhanden ist, rufen Sie Windows Communication Foundation (WCF) and Windows Workflow Foundation (WF) Samples for .NET Framework 4 auf, um alle Windows Communication Foundation (WCF)- und WF-Beispiele herunterzuladen. Dieses Beispiel befindet sich im folgenden Verzeichnis.
<Installationslaufwerk>:\WF_WCF_Samples\WF\Basic\CustomActivities\CustomActivityDesigners\UsingEditingScope
|