UndoEngine Klasa

Definicja

Określa ogólne funkcje cofania/ponownego wykonywania w czasie projektowania.

public ref class UndoEngine abstract : IDisposable
public abstract class UndoEngine : IDisposable
type UndoEngine = class
    interface IDisposable
Public MustInherit Class UndoEngine
Implements IDisposable
Dziedziczenie
UndoEngine
Implementuje

Uwagi

Klasa abstrakcyjna UndoEngine zapewnia domyślną implementację funkcji cofania w czasie projektowania. Jednostka cofania reprezentuje jedną jednostkę niemożliwą do cofnięcia pracy. Ta lekcja jest dodawana do stosu, a użytkownik może następnie przejść przez stos, aby cofnąć każdą akcję. Cofanie jednostek zwykle jest przeznaczone do przełączania, co oznacza, że wywołanie cofania dwukrotnie zwraca aplikację do stanu początkowego.

Klasa UndoEngine korzysta z następujących cech obiektów działających w projektancie:

  • Wszystkie interesujące obiekty można utrwalać w pewnym formacie przez moduł ładujący projektanta.

  • Wszystkie obiekty zgłaszają powiadomienia o zmianie właściwości po zmianie właściwości.

  • IDesignerHost oferuje pomysł transakcji, które mogą służyć do tworzenia akcji cofania, która obejmuje wiele mniejszych akcji.

Dzięki tym funkcjom UndoEngine można utworzyć sieć szkieletową wszystkich jednostek cofania, których potrzebuje automatycznie.

Uwaga

Nie zmieniaj wartości właściwości bezpośrednio. Klasa UndoEngine wymaga użycia odpowiednich TypeDescriptor wartości właściwości.

UndoEngine monitoruje powiadomienia o zmianie w celu utworzenia jednostek cofania, a same jednostki składają się ze stanów obiektów serializacji. W poniższej tabeli przedstawiono usługi, które muszą być dostępne podczas UndoEngine tworzenia.

Usługa Opis
ComponentSerializationService Zapisuje wartości właściwości i obiektów dla składnika przed i po wprowadzeniu zmiany.
IComponentChangeService Powiadamia aparat cofania zmian wprowadzonych w składnikach.
IDesignerHost Służy do śledzenia transakcji.

Uwaga

UndoEngine Ponieważ klasa wymaga ComponentSerializationService i IComponentChangeService, jest dostępna tylko w czasie projektowania.

Aparat cofania śledzi transakcje i tworzy pojedynczą jednostkę cofania obejmującą transakcję. W rezultacie aparat cofania ma kontrolę nad czasem trwania niemożliwej akcji. Ponadto, ponieważ transakcje mogą być nazwane, cofnięte akcje dziedziczą ich nazwy z bieżącej transakcji. Jeśli żadna transakcja nie jest dostępna i zostanie zgłoszona zmiana, aparat cofania tworzy nazwę cofania na podstawie typu zmiany (na przykład "Zmień właściwość "Text").

Konstruktory

UndoEngine(IServiceProvider)

Inicjuje nowe wystąpienie klasy UndoEngine.

Właściwości

Enabled

Włącza lub wyłącza element UndoEngine.

UndoInProgress

Wskazuje, czy akcja cofania jest w toku.

Metody

AddUndoUnit(UndoEngine+UndoUnit)

Dodaje element UndoEngine.UndoUnit do stosu cofania.

CreateUndoUnit(String, Boolean)

Tworzy nowy adres UndoEngine.UndoUnit.

DiscardUndoUnit(UndoEngine+UndoUnit)

Odrzuca element UndoEngine.UndoUnit.

Dispose()

Zwalnia wszelkie zasoby używane przez element UndoEngine.

Dispose(Boolean)

Zwalnia zasoby niezarządzane używane przez element UndoEngine i opcjonalnie zwalnia zasoby zarządzane.

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetRequiredService(Type)

Pobiera żądaną usługę.

GetService(Type)

Pobiera żądaną usługę.

GetType()

Type Pobiera bieżące wystąpienie.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
OnUndoing(EventArgs)

Undoing Zgłasza zdarzenie.

OnUndone(EventArgs)

Undone Zgłasza zdarzenie.

ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Zdarzenia

Undoing

Występuje bezpośrednio przed wykonaniem akcji cofania.

Undone

Występuje natychmiast po wykonaniu akcji cofania.

Dotyczy

Zobacz też