ModelEditingScope - класс
Обновлен: Ноябрь 2007
Представляет группу изменений в хранилище редактирования.
Пространство имен: Microsoft.Windows.Design.Model
Сборка: Microsoft.Windows.Design.Interaction (в Microsoft.Windows.Design.Interaction.dll)
Синтаксис
'Декларация
Public MustInherit Class ModelEditingScope _
Implements IDisposable
'Применение
Dim instance As ModelEditingScope
public abstract class ModelEditingScope : IDisposable
public ref class ModelEditingScope abstract : IDisposable
public abstract class ModelEditingScope implements IDisposable
Заметки
Группы изменений являются транзакционными объектами. Изменения в области редактирования могут сохраняться и отменяться как единый блок.
При сохранении области редактирования все изменения сохраняются в хранилище редактирования и применяются к модели. При вызове метода Revert области редактирования или ее удалении до вызова метода Complete восстанавливаются все изменения базовых объектов области, или применяется состояние, сохраненное в хранилище редактирования. Благодаря этому в системе обеспечивается надежный механизм отмены действий.
Всегда заключайте области изменения в операторы using или блоки try/finally. Если возникает исключение, изменение отменяется в вызове метода Dispose.
Примеры
' 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(Control.WidthProperty)
Dim heightProperty As ModelProperty = adornedControlModel.Properties(Control.HeightProperty)
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[Control.WidthProperty];
ModelProperty heightProperty =
adornedControlModel.Properties[Control.HeightProperty];
if (autoSize)
{
widthProperty.ClearValue();
heightProperty.ClearValue();
}
else
{
widthProperty.SetValue(20d);
heightProperty.SetValue(20d);
}
batchedChange.Complete();
}
}
finally { settingProperties = false; }
}
Иерархия наследования
System.Object
Microsoft.Windows.Design.Model.ModelEditingScope
Потокобезопасность
Любые открытые члены этого типа, объявленные как static (Shared в Visual Basic), являются потокобезопасными. Потокобезопасность членов экземпляров не гарантируется.
См. также
Ссылки
Microsoft.Windows.Design.Model - пространство имен
Другие ресурсы
Пошаговое руководство. Создание графического элемента времени разработки