ModelEditingScope-Klasse
Stellt eine Gruppe der Änderungen am Bearbeitungsspeicher dar.
Vererbungshierarchie
System.Object
Microsoft.Windows.Design.Model.ModelEditingScope
Namespace: Microsoft.Windows.Design.Model
Assembly: Microsoft.Windows.Design.Interaction (in Microsoft.Windows.Design.Interaction.dll)
Syntax
'Declaration
Public MustInherit Class ModelEditingScope _
Implements IDisposable
public abstract class ModelEditingScope : IDisposable
public ref class ModelEditingScope abstract : IDisposable
[<AbstractClass>]
type ModelEditingScope =
class
interface IDisposable
end
public abstract class ModelEditingScope implements IDisposable
Der ModelEditingScope-Typ macht die folgenden Member verfügbar.
Konstruktoren
Name | Beschreibung | |
---|---|---|
ModelEditingScope | Initialisiert eine neue Instanz der ModelEditingScope-Klasse. |
Zum Seitenanfang
Eigenschaften
Name | Beschreibung | |
---|---|---|
Description | Ruft eine Beschreibung für die Gruppe ab oder legt sie fest. |
Zum Seitenanfang
Methoden
Name | Beschreibung | |
---|---|---|
CanComplete | Legt fest, ob die OnComplete-Methode aufgerufen werden kann oder ob die Änderung stattdessen rückgängig gemacht werden soll. | |
Complete | Schließt den Bearbeitungsbereich ab. | |
Dispose() | Gibt alle vom ModelEditingScope verwendeten Ressourcen frei. | |
Dispose(Boolean) | Gibt die von der ModelEditingScope-Klasse verwendeten nicht verwalteten Ressourcen und optional auch die verwalteten Ressourcen frei. | |
Equals | Bestimmt, ob das angegebene Object und das aktuelle Object gleich sind. (Von Object geerbt.) | |
Finalize | Wird beim Abschließen aufgerufen, um die Gruppe abzubrechen. (Überschreibt Object.Finalize().) | |
GetHashCode | Fungiert als Hashfunktion für einen bestimmten Typ. (Von Object geerbt.) | |
GetType | Ruft den Type der aktuellen Instanz ab. (Von Object geerbt.) | |
MemberwiseClone | Erstellt eine flache Kopie des aktuellen Object. (Von Object geerbt.) | |
OnComplete | Führt die tatsächlichen Schritte zum Abschließen des Bearbeitungsbereichs durch. | |
OnRevert | Führt die tatsächlichen Schritte zum Wiederherstellen des Bearbeitungsbereichs durch. | |
Revert | Bricht die Änderungen ab, die im Bearbeitungsbereich vorgenommen wurden. | |
ToString | Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.) | |
Update | Führt eine synchrone Aktualisierung der Ansicht aus. |
Zum Seitenanfang
Hinweise
Änderungsgruppen sind transaktional. In einem Bearbeitungsbereich vorgenommene Änderungen können als Einheit durchgeführt oder übermittelt werden.
Wenn ein Bearbeitungsbereich übermittelt wird, übernimmt der Bearbeitungsspeicher alle darin vorgenommenen Änderungen und wendet diese auf das Modell an. Wenn die Revert-Methode des Bearbeitungsbereichs aufgerufen wird oder der Bearbeitungsbereich vor dem Aufrufen der Complete-Methode gelöscht wird, setzt der Bearbeitungsbereich stattdessen die Änderungen zurück, die an den zugrunde liegenden Objekten vorgenommen wurden, und wendet erneut den Zustand aus dem Bearbeitungsspeicher an. Auf diese Weise erhält der Mechanismus zum Rückgängigmachen eine solide Grundlage.
Umschließen Sie Bearbeitungsbereiche immer mit using-Anweisungen oder try/finally-Blöcke. Wenn eine Ausnahme ausgelöst wird, wird die Änderung im Aufruf an die Dispose-Methode abgebrochen.
Beispiele
' The SetHeightAndWidth utility method sets the Height and Width
' properties through the model and commits the change.
Private Sub SetHeightAndWidth(ByVal [auto] As Boolean)
settingProperties = True
Dim batchedChange As ModelEditingScope = adornedControlModel.BeginEdit()
Try
Dim widthProperty As ModelProperty = adornedControlModel.Properties("Width")
Dim heightProperty As ModelProperty = adornedControlModel.Properties("Height")
If [auto] Then
widthProperty.ClearValue()
heightProperty.ClearValue()
Else
widthProperty.SetValue(20.0)
heightProperty.SetValue(20.0)
End If
batchedChange.Complete()
Finally
batchedChange.Dispose()
settingProperties = False
End Try
End Sub
// The SetHeightAndWidth utility method sets the Height and Width
// properties through the model and commits the change.
private void SetHeightAndWidth(bool autoSize)
{
settingProperties = true;
try
{
using (ModelEditingScope batchedChange = adornedControlModel.BeginEdit())
{
ModelProperty widthProperty =
adornedControlModel.Properties["Width"];
ModelProperty heightProperty =
adornedControlModel.Properties["Height"];
if (autoSize)
{
widthProperty.ClearValue();
heightProperty.ClearValue();
}
else
{
widthProperty.SetValue(20d);
heightProperty.SetValue(20d);
}
batchedChange.Complete();
}
}
finally { settingProperties = false; }
}
Threadsicherheit
Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.
Siehe auch
Referenz
Microsoft.Windows.Design.Model-Namespace
Weitere Ressourcen
Exemplarische Vorgehensweise: Erstellen eines Entwurfszeitadorners