Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Aggiornamento: novembre 2007
Rappresenta un gruppo di modifiche nell'archivio di modifica.
Spazio dei nomi: Microsoft.Windows.Design.Model
Assembly: Microsoft.Windows.Design.Interaction (in Microsoft.Windows.Design.Interaction.dll)
Sintassi
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
Note
I gruppi di modifiche sono transazionali. È possibile eseguire il commit delle modifiche apportate in un ambito di modifica oppure interromperle come unità.
Quando si esegue il commit di un ambito di modifica, l'archivio di modifica accetta tutte le modifiche apportate e le applica al modello. Invece, se viene chiamato il metodo Revert dell'ambito di modifica o se questo viene eliminato prima di chiamare il metodo Complete, l'ambito di modifica inverte le modifiche apportate agli oggetti sottostanti tramite una nuova applicazione dello stato dall'archivio di modifica. In questo modo, viene fornita una base solida per un meccanismo di annullamento.
Eseguire sempre il wrapping degli ambiti di modifica nelle istruzioni using o nei blocchi try/finally. Se viene generata un'eccezione, la modifica viene interrotta nella chiamata al metodo Dispose.
Esempi
' 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; }
}
Gerarchia di ereditarietà
System.Object
Microsoft.Windows.Design.Model.ModelEditingScope
Codice thread safe
Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.
Vedere anche
Riferimenti
Spazio dei nomi Microsoft.Windows.Design.Model
Altre risorse
Procedura dettagliata: creazione di uno strumento decorativo visuale in fase di progettazione