Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Mise à jour : novembre 2007
Représente un groupe de modifications apportées au magasin d'éditions.
Espace de noms : Microsoft.Windows.Design.Model
Assembly : Microsoft.Windows.Design.Interaction (dans Microsoft.Windows.Design.Interaction.dll)
Syntaxe
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
Notes
Les groupes de modifications sont transactionnels. Les modifications apportées dans une portée d'édition peuvent être validées ou abandonnées en tant qu'unité.
Lorsqu'une portée d'édition est validée, le magasin d'éditions prend toutes les modifications qui s'y sont produites et les applique au modèle. Si la méthode Revert de la portée d'édition est appelée ou si la portée d'édition est supprimée avant l'appel de la méthode Complete, la portée d'édition rétablit les modifications apportées aux objets sous-jacents, en réappliquant l'état issu du magasin d'éditions. Cela constitue une base fiable pour un mécanisme d'annulation.
Encapsulez toujours les portées d'édition dans des instructions using ou dans des blocs try/finally. Si une exception est levée, la modification est abandonnée dans l'appel de la méthode Dispose.
Exemples
' 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; }
}
Hiérarchie d'héritage
System.Object
Microsoft.Windows.Design.Model.ModelEditingScope
Sécurité des threads
Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.
Voir aussi
Référence
Microsoft.Windows.Design.Model, espace de noms
Autres ressources
Procédure pas à pas : création d'un ornement au moment du design