Partager via


ModelEditingScope, classe

Représente un groupe de modifications apportées au magasin d'éditions.

Hiérarchie d'héritage

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

Espace de noms :  Microsoft.Windows.Design.Model
Assembly :  Microsoft.Windows.Design.Interaction (dans Microsoft.Windows.Design.Interaction.dll)

Syntaxe

'Déclaration
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

Le type ModelEditingScope expose les membres suivants.

Constructeurs

  Nom Description
Méthode protégée ModelEditingScope Initialise une nouvelle instance de la classe ModelEditingScope.

Début

Propriétés

  Nom Description
Propriété publique Description Obtient ou définit une description du groupe.

Début

Méthodes

  Nom Description
Méthode protégée CanComplete Détermine si la méthode OnComplete peut être appelée ou si la modification doit être rétablie.
Méthode publique Complete Termine la portée d'édition.
Méthode publique Dispose() Libère toutes les ressources utilisées par ModelEditingScope.
Méthode protégée Dispose(Boolean) Libère les ressources non managées utilisées par la classe ModelEditingScope et libère éventuellement les ressources managées.
Méthode publique Equals Détermine si l'Object spécifié est égal à l'Object en cours. (Hérité de Object.)
Méthode protégée Finalize Appelé lors de la finalisation pour abandonner le groupe. (Substitue Object.Finalize().)
Méthode publique GetHashCode Sert de fonction de hachage pour un type particulier. (Hérité de Object.)
Méthode publique GetType Obtient le Type de l'instance actuelle. (Hérité de Object.)
Méthode protégée MemberwiseClone Crée une copie superficielle de l'objet Object actif. (Hérité de Object.)
Méthode protégée OnComplete Exécute la fin réelle de la portée d'édition.
Méthode protégée OnRevert Exécute le rétablissement réel de la portée d'édition.
Méthode publique Revert Abandonne les modifications apportées dans la portée d'édition.
Méthode publique ToString Retourne une chaîne qui représente l'objet actuel. (Hérité de Object.)
Méthode publique Update Exécute une actualisation synchrone de la vue.

Début

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("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; }
}

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

Extensibilité du Concepteur WPF