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.
Lorsqu’un élément est créé, supprimé ou mis à jour, vous pouvez écrire du code qui propage la modification vers d’autres parties du modèle ou vers des ressources externes telles que des fichiers, des bases de données ou d’autres composants.
Reference
En guise d’orientation, tenez compte de ces techniques dans l’ordre suivant :
| Technique | Scénarios | Pour plus d’informations |
|---|---|---|
| Définissez une propriété de domaine calculée. | Propriété de domaine dont la valeur est calculée à partir d’autres propriétés dans le modèle. Par exemple, un prix qui correspond à la somme des prix des éléments connexes. | Propriétés de stockage calculées et personnalisées |
| Définissez une propriété de domaine de stockage personnalisé. | Propriété de domaine stockée dans d’autres parties du modèle ou en externe. Par exemple, vous pouvez analyser une chaîne d’expression dans une arborescence du modèle. | Propriétés de stockage calculées et personnalisées |
| Remplacer les gestionnaires de modifications tels que OnValueChanging et OnDeleting | Conservez différents éléments synchronisés et conservez les valeurs externes synchronisées avec le modèle. Limitez les valeurs aux plages définies. Appelé immédiatement avant et après les modifications de la valeur de propriété et d'autres changements. Vous pouvez arrêter le changement en levant une exception. |
Gestionnaires de modifications de valeur de propriété de domaine |
| Règles | Vous pouvez définir des règles qui sont mises en file d’attente pour l’exécution juste avant la fin d’une transaction dans laquelle une modification s’est produite. Ils ne sont pas exécutés sur Annuler ou Rétablir. Utilisez-les pour conserver une partie du magasin synchronisée avec une autre. | Les règles propagent les modifications dans le modèle |
| Événements en magasin | Le magasin de modélisation fournit des notifications d’événements tels que l’ajout ou la suppression d’un élément ou d’un lien, ou la modification de la valeur d’une propriété. L’événement est également exécuté sur Annuler et Rétablir. Utilisez les événements de magasin pour mettre à jour les valeurs qui ne sont pas dans le magasin. | Les gestionnaires d’événements propagent les modifications en dehors du modèle |
| Événements .NET | Les formes ont des gestionnaires d’événements qui répondent aux clics de souris et à d’autres mouvements. Vous devez vous inscrire à ces événements pour chaque objet. L’inscription est généralement effectuée dans un remplacement d’InitializeInstanceResources et doit être effectuée pour chaque élément. Ces événements se produisent généralement en dehors d’une transaction. |
Comment intercepter un clic sur une forme ou un élément décoratif |
| Règles de délimitation | Une règle de limites est utilisée spécifiquement pour limiter les limites d’une forme. | BoundsRules limite l’emplacement et la taille de la forme |
| Règles de sélection | Les règles de sélection limitent spécifiquement ce que l’utilisateur peut sélectionner. | Guide pratique pour accéder à la sélection actuelle et la limiter |
| OnAssocatedPropertyChanged | Indiquez les états des éléments de modèle à l’aide de caractéristiques de formes et de connecteurs tels que l’ombre, les pointes de flèche, la couleur et les largeurs de trait et le style. | Mise à jour des formes et des connecteurs pour refléter le modèle |
Comparer des règles et stocker des événements
Les notifications de modification, les règles et les événements sont exécutés lorsque des modifications se produisent dans un modèle.
Les règles sont généralement appliquées à la transaction de fin dans laquelle la modification s’est produite et les événements sont appliqués après la validation des modifications dans une transaction.
Utilisez les événements de magasin pour synchroniser le modèle avec des objets en dehors du Windows Store et des règles pour maintenir la cohérence dans le Windows Store.
Création de règles personnalisées Vous créez une règle personnalisée en tant que classe dérivée d’une règle abstraite. Vous devez également notifier l’infrastructure à propos de la règle personnalisée. Pour plus d’informations, consultez Comment les règles propagent des modifications dans le modèle.
Abonnement aux événements Avant de pouvoir vous abonner à un événement, créez un gestionnaire d’événements et un délégué. Utilisez ensuite la EventManagerDirectorypropriété pour vous abonner à l’événement. Pour plus d’informations, consultez Les gestionnaires d’événements propagent les modifications en dehors du modèle.
Annuler les modifications Lorsque vous annulez une transaction, les événements sont déclenchés, mais les règles ne sont pas appliquées. Si une règle modifie une valeur et que vous annulez cette modification, la valeur est réinitialisée à la valeur d’origine pendant l’action d’annulation. Lorsqu’un événement est déclenché, vous devez remplacer manuellement la valeur par sa valeur d’origine. Pour en savoir plus sur les transactions et annuler, consultez Guide pratique pour utiliser des transactions pour mettre à jour le modèle.
Passage d’arguments d’événement aux règles et aux événements Les événements et les règles reçoivent un paramètre
EventArgscontenant des informations sur la façon dont le modèle a changé.