Compartir a través de


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
Método protegido ModelEditingScope Inicializa una nueva instancia de la clase ModelEditingScope.

Arriba

Propiedades

  Nombre Descripción
Propiedad pública Description Obtiene o establece una descripción para el grupo.

Arriba

Métodos

  Nombre Descripción
Método protegido CanComplete Determina si se puede llamar al método OnComplete o si se debería revertir el cambio en su lugar.
Método público Complete Completa el ámbito de edición.
Método público Dispose() Libera todos los recursos utilizados por el objeto ModelEditingScope.
Método protegido Dispose(Boolean) Libera los recursos no administrados utilizados por la clase ModelEditingScope y, de forma opcional, libera los recursos administrados.
Método público Equals Determina si el objeto Object especificado es igual al objeto Object actual. (Se hereda de Object).
Método protegido Finalize Se llama durante la finalización para anular el grupo. (Invalida a Object.Finalize()).
Método público GetHashCode Actúa como función hash para un tipo concreto. (Se hereda de Object).
Método público GetType Obtiene el objeto Type de la instancia actual. (Se hereda de Object).
Método protegido MemberwiseClone Crea una copia superficial del objeto Object actual. (Se hereda de Object).
Método protegido OnComplete Completa el ámbito de edición.
Método protegido OnRevert Revierte el ámbito de edición.
Método público Revert Abandona los cambios que se realizaron durante el ámbito de edición.
Método público ToString Devuelve una cadena que representa el objeto actual. (Se hereda de Object).
Método público 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)

Otros recursos

Tutorial: Crear un adorno en tiempo de diseño

Extensibilidad de WPF Designer