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
Namespace Microsoft.Windows.Design.Model
Outros recursos
Demonstra Passo a passo: Criando um Adorner de tempo de design