Lezen in het Engels

Delen via


Bewerkingsbereik gebruiken

In het UsingEditingScope-voorbeeld ziet u hoe u een reeks wijzigingen kunt batcheren, zodat ze in één atomische eenheid ongedaan kunnen worden gemaakt. De acties die door een auteur van een activiteitsontwerper worden uitgevoerd, worden standaard automatisch geïntegreerd in het systeem Ongedaan maken/opnieuw uitvoeren.

Demonstreert

Bewerkingsbereik en ongedaan maken en opnieuw uitvoeren.

Discussie

In dit voorbeeld ziet u hoe u een reeks wijzigingen in de ModelItem structuur in één werkeenheid kunt batcheren. Houd er rekening mee dat wijzigingen automatisch worden toegepast wanneer een binding met ModelItem waarden rechtstreeks vanuit een WPF-ontwerpfunctie wordt toegepast. In dit voorbeeld ziet u wat er moet gebeuren wanneer meerdere wijzigingen in batches worden aangebracht via imperatieve code, in plaats van één wijziging.

In dit voorbeeld worden drie activiteiten toegevoegd. Wanneer het bewerken begint, BeginEdit wordt aangeroepen op een exemplaar van ModelItem. Wijzigingen in de ModelItem structuur binnen dit bewerkingsbereik worden in batches uitgevoerd. De BeginEdit opdracht retourneert een EditingScope, die kan worden gebruikt om dit exemplaar te beheren. OnRevert Of OnComplete kan worden aangeroepen om het bewerkingsbereik door te voeren of terug te zetten.

U kunt ook objecten nesten EditingScope , waardoor meerdere sets wijzigingen kunnen worden bijgehouden als onderdeel van een groter bewerkingsbereik en afzonderlijk kunnen worden beheerd. Een scenario dat deze functie kan gebruiken, is wanneer wijzigingen uit meerdere dialoogvensters moeten worden doorgevoerd of afzonderlijk moeten worden teruggezet, waarbij alle wijzigingen worden behandeld als één atomische bewerking. In dit voorbeeld worden de bewerkingsbereiken gestapeld met behulp van een van het ObservableCollection<T> type ModelEditingScope. De ObservableCollection<T> wordt gebruikt zodat de diepte van het nesten kan worden waargenomen op het ontwerpoppervlak.

Het voorbeeld instellen, compileren en uitvoeren

  1. Bouw en voer het voorbeeld uit en gebruik vervolgens de knoppen aan de linkerkant om de werkstroom te wijzigen.

  2. Klik op Bewerkingsbereik openen.

    1. Met deze opdracht wordt BeginEdit een bewerkingsbereik gemaakt en naar de bewerkingsstack gepusht.

    2. Er worden vervolgens drie activiteiten aan de geselecteerde ModelItemactiviteiten toegevoegd. Als het bewerkingsbereik niet is geopend, BeginEditworden er drie nieuwe activiteiten weergegeven op het ontwerpcanvas. Omdat deze bewerking nog in behandeling EditingScopeis, is de ontwerpfunctie nog niet bijgewerkt.

  3. Druk op Bewerkingsbereik sluiten om het bewerkingsbereik door te voeren. Er worden drie activiteiten weergegeven in de ontwerpfunctie.