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