Classe ModelEditingScope
Representa um grupo de alterações no armazenamento de edição.
Hierarquia de herança
System.Object
Microsoft.Windows.Design.Model.ModelEditingScope
Namespace: Microsoft.Windows.Design.Model
Assembly: Microsoft.Windows.Design.Interaction (em Microsoft.Windows.Design.Interaction.dll)
Sintaxe
'Declaração
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
O tipo ModelEditingScope expõe os membros a seguir.
Construtores
Nome | Descrição | |
---|---|---|
ModelEditingScope | Initializes a new instance of the ModelEditingScope class. |
Início
Propriedades
Nome | Descrição | |
---|---|---|
Description | Obtém ou define uma descrição para o grupo. |
Início
Métodos
Nome | Descrição | |
---|---|---|
CanComplete | Determina se a OnComplete método pode ser chamado ou se a alteração deve ser revertida em vez disso. | |
Complete | Conclui o escopo de edição. | |
Dispose() | Libera todos os recursos usados pela ModelEditingScope. | |
Dispose(Boolean) | Libera os recursos não gerenciados usados pela ModelEditingScope classe e, opcionalmente, versões de recursos gerenciados. | |
Equals | Determina se o especificado Object é igual a atual Object. (Herdado de Object.) | |
Finalize | Chamado durante a finalização de anular o grupo. (Substitui Object.Finalize().) | |
GetHashCode | Serves as a hash function for a particular type. (Herdado de Object.) | |
GetType | Obtém o Type da instância atual. (Herdado de Object.) | |
MemberwiseClone | Cria uma cópia superficial do atual Object. (Herdado de Object.) | |
OnComplete | Executa o real completa do escopo de edição. | |
OnRevert | Executa a reversão real do escopo de edição. | |
Revert | Desfaz às mudanças feitas durante o escopo de edição. | |
ToString | Retorna um string que representa o objeto atual. (Herdado de Object.) | |
Update | Executa uma atualização síncrona do modo de exibição. |
Início
Comentários
Os grupos de alteração são transacionais. As alterações feitas em um escopo de edição podem ser confirmadas ou anuladas como uma unidade.
Quando um escopo de edição for confirmado, o armazenamento de edição leva todas as alterações que ocorreram nele e aplica-se ao modelo. Se o escopo de edição Revert é chamado de método ou o escopo de edição é descartado antes de 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 o mecanismo de desfazer.
Always wrap editing scopes in using statements or try/finally blocks. Se uma exceção é gerada, a alteração é anulada na chamada 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("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; }
}
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