ModelEditingScope (Clase)
Representa un grupo de cambios en el almacén de edición.
Jerarquía de herencia
System.Object
Microsoft.Windows.Design.Model.ModelEditingScope
Espacio de nombres: Microsoft.Windows.Design.Model
Ensamblado: Microsoft.Windows.Design.Interaction (en Microsoft.Windows.Design.Interaction.dll)
Sintaxis
'Declaración
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
El tipo ModelEditingScope expone los siguientes miembros.
Constructores
Nombre | Descripción | |
---|---|---|
ModelEditingScope | Inicializa una nueva instancia de la clase ModelEditingScope. |
Arriba
Propiedades
Nombre | Descripción | |
---|---|---|
Description | Obtiene o establece una descripción para el grupo. |
Arriba
Métodos
Nombre | Descripción | |
---|---|---|
CanComplete | Determina si se puede llamar al método OnComplete o si se debería revertir el cambio en su lugar. | |
Complete | Completa el ámbito de edición. | |
Dispose() | Libera todos los recursos utilizados por el objeto ModelEditingScope. | |
Dispose(Boolean) | Libera los recursos no administrados utilizados por la clase ModelEditingScope y, de forma opcional, libera los recursos administrados. | |
Equals | Determina si el objeto Object especificado es igual al objeto Object actual. (Se hereda de Object). | |
Finalize | Se llama durante la finalización para anular el grupo. (Invalida a Object.Finalize()). | |
GetHashCode | Actúa como función hash para un tipo concreto. (Se hereda de Object). | |
GetType | Obtiene el objeto Type de la instancia actual. (Se hereda de Object). | |
MemberwiseClone | Crea una copia superficial del objeto Object actual. (Se hereda de Object). | |
OnComplete | Completa el ámbito de edición. | |
OnRevert | Revierte el ámbito de edición. | |
Revert | Abandona los cambios que se realizaron durante el ámbito de edición. | |
ToString | Devuelve una cadena que representa el objeto actual. (Se hereda de Object). | |
Update | Realiza una actualización sincrónica de la vista. |
Arriba
Comentarios
Los grupos de cambios son transaccionales. Los cambios que se llevan a cabo en un ámbito de edición se pueden confirmar o se anular como una unidad.
Cuando se confirma un ámbito de edición, el almacén de edición acepta todos los cambios que se hayan producido en él y los aplican al modelo. Si se llama al método Revert del ámbito de edición o el ámbito de edición se elimina antes de llamar al método Complete, el ámbito de edición invertirá los cambios realizados en los objetos subyacentes y volverá a aplicar el estado del almacén de edición. Esto proporciona una base sólida para un mecanismo de deshacer.
Incluya siempre los ámbitos de edición en instrucciones using o en bloques try/finally. Si se produce una excepción, el cambio se anula en la llamada al método Dispose.
Ejemplos
' 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; }
}
Seguridad para subprocesos
Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.
Vea también
Referencia
Microsoft.Windows.Design.Model (Espacio de nombres)