ModelEditingScope (Clase)

Actualización: noviembre 2007

Representa un grupo de cambios en el almacén de edición.

Espacio de nombres:  Microsoft.Windows.Design.Model
Ensamblado:  Microsoft.Windows.Design.Interaction (en Microsoft.Windows.Design.Interaction.dll)

Sintaxis

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

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(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; }
}

Jerarquía de herencia

System.Object
  Microsoft.Windows.Design.Model.ModelEditingScope

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

ModelEditingScope (Miembros)

Microsoft.Windows.Design.Model (Espacio de nombres)

Otros recursos

Tutorial: Crear un adorno en tiempo de diseño

Extensibilidad de WPF Designer