Použití oboru úprav

Ukázka UsingEditingScope ukazuje, jak dávkovat sadu změn, aby bylo možné je vrátit zpět jako jednu atomickou jednotku. Ve výchozím nastavení jsou akce provedené autorem návrháře aktivit automaticky integrovány do systému Zpět/Znovu.

Demonstruje

Úpravy rozsahu a akce Zpět a Znovu

Diskuse

Tato ukázka ukazuje, jak dávkovat sadu změn stromu ModelItem v rámci jedné jednotky úlohy. Vezměte na vědomí, že při vázání na ModelItem hodnoty přímo z návrháře WPF se změny aplikují automaticky. Tato ukázka ukazuje, co je potřeba udělat, když se provádí více změn, které se mají dávkově provádět prostřednictvím imperativního kódu, a nikoli jedné změny.

V této ukázce se přidají tři aktivity. Při zahájení úprav se volá BeginEdit na objekt ModelItem. Změny provedené ve ModelItem stromu v rámci tohoto oboru úprav jsou dávkové. Příkaz BeginEdit vrátí EditingScope, který lze použít k řízení této instance. Buď OnComplete, nebo OnRevert lze volat k potvrzení nebo vrácení oboru úprav.

Můžete také vnořit EditingScope objekty, které umožňují sledovat více sad změn v rámci většího oboru úprav a lze je ovládat jednotlivě. Scénář, ve kterém může být tato funkce použita, nastane, když je potřeba samostatně potvrdit nebo vrátit změny z více dialogových oken, přičemž všechny změny se považují za jednu atomickou operaci. V této ukázce jsou obory úprav skládané pomocí ObservableCollection<T> typu ModelEditingScope. Používá ObservableCollection<T> se tak, aby hloubku vnoření bylo možné pozorovat na ploše návrháře.

Jak nastavit, sestavit a spustit ukázku

  1. Sestavte a spusťte ukázku a pak pomocí tlačítek na levé straně upravte pracovní postup.

  2. Klikněte na Otevřít obor úprav.

    1. Tento příkaz volá BeginEdit , který vytvoří obor úprav a vloží ho do zásobníku pro úpravy.

    2. Do vybraného ModelItemobjektu se pak přidají tři aktivity . Všimněte si, že pokud by se obor úprav neotevřel pomocí BeginEdit, na plátně návrháře by se objevily tři nové aktivity. Vzhledem k tomu, že tato operace stále čeká na vyřízení EditingScope, návrhář ještě není aktualizován.

  3. Stisknutím klávesy Zavřít obor úprav potvrďte obor úprav. V návrháři se zobrazují tři aktivity.