UndoEngine Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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. |