Partilhar via


Classe ModelEditingScope

Representa um agrupar de alterações para o armazenamento de edição.

Namespace:  Microsoft.Windows.Design.Model
Assembly:  Microsoft.Windows.Design.Interaction (em Microsoft.Windows.Design.Interaction.dll)

Sintaxe

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

Comentários

Alterar os grupos são transacionais.sistema autônomo alterações feitas em um escopo de edição podem ser confirmadas ou anuladas sistema autônomo uma unidade.

Quando um escopo de edição for confirmado, o armazenamento de edição tem todas as alterações que ocorreram dentro dela e as aplica ao modelo.Se Revert método é chamado ou o escopo de edição é descartado antes da Complete método é chamado, o escopo de edição em vez disso, irá reverter as alterações que foram feitas nos objetos subjacentes, reaplicando o estado do armazenamento de edição. Isso fornece uma base sólida para um mecanismo de desfazer.

Sempre dispor escopos de edição em instruções using ou blocos try/finally.Se uma exceção é gerada, a alterar é anulada na telefonar para o Dispose método.

Exemplos

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

Hierarquia de herança

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

Acesso thread-safe

Quaisquer membros static (Shared no Visual Basic) públicos deste tipo são thread-safe. Não há garantia de que qualquer membro de instância seja thread-safe.

Consulte também

Referência

Membros ModelEditingScope

Namespace Microsoft.Windows.Design.Model

Outros recursos

Demonstra Passo a passo: Criando um Adorner de tempo de design

Extensibilidade do WPF Designer