Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Wanneer een element wordt gemaakt, verwijderd of bijgewerkt, kunt u code schrijven waarmee de wijziging wordt doorgegeven aan andere onderdelen van het model of aan externe resources, zoals bestanden, databases of andere onderdelen.
Reference
Overweeg deze technieken als richtlijn in de volgende volgorde:
| Technique | Scenariën | Voor meer informatie |
|---|---|---|
| Definieer een berekende domeineigenschap. | Een domeineigenschap waarvan de waarde wordt berekend op basis van andere eigenschappen in het model. Bijvoorbeeld een prijs die de som is van de prijzen van gerelateerde elementen. | Eigenschappen voor berekende en aangepaste opslag |
| Definieer een aangepaste opslagdomeineigenschap. | Een domeineigenschap die is opgeslagen in andere delen van het model of extern. U kunt bijvoorbeeld een expressietekenreeks parseren naar een boom in het model. | Eigenschappen voor berekende en aangepaste opslag |
| Wijzigingshandlers zoals OnValueChanging en OnDeleting overschrijven | Houd verschillende elementen gesynchroniseerd en houd externe waarden gesynchroniseerd met het model. Waarden beperken tot gedefinieerde bereiken. Direct vóór en na eigenschapswaarde en andere wijzigingen aangeroepen. U kunt de wijziging beëindigen door een uitzondering te genereren. |
Handlers voor wijziging van domeineigenschapswaarde |
| Reglement | U kunt regels definiëren die in de wachtrij worden geplaatst voor uitvoering vlak voor het einde van een transactie waarin een wijziging is opgetreden. Ze worden niet uitgevoerd op Ongedaan maken of Opnieuw uitvoeren. Gebruik ze om het ene deel van de winkel gesynchroniseerd te houden met een ander. | Regels doorgeven wijzigingen binnen het model |
| Store-gebeurtenissen | Het modelleringsarchief biedt meldingen van gebeurtenissen, zoals het toevoegen of verwijderen van een element of koppeling, of het wijzigen van de waarde van een eigenschap. De gebeurtenis wordt ook uitgevoerd op Ongedaan maken en Opnieuw uitvoeren. Gebruik store-gebeurtenissen om waarden bij te werken die zich niet in de store bevinden. | Eventhandlers propageren wijzigingen buiten het model |
| .NET-gebeurtenissen | Shapes hebben gebeurtenishandlers die reageren op muisklikken en andere gebaren. U moet zich registreren voor deze gebeurtenissen voor elk object. Registratie wordt meestal uitgevoerd in een overschrijving van InitializeInstanceResources en moet voor elk element worden uitgevoerd. Deze gebeurtenissen vinden meestal plaats buiten een transactie. |
Procedure: Een klik op een vorm of decorator onderscheppen |
| Regels voor grenzen | Een regel voor grenzen wordt specifiek gebruikt om de grenzen van een shape te beperken. | BoundsRules begrenst de plaats en grootte van de vorm |
| Selectieregels | Selectieregels beperken specifiek wat de gebruiker kan selecteren. | Procedure: De huidige selectie openen en beperken |
| OnAssocatedPropertyChanged | Geef de statussen van de modelelementen aan met behulp van functies van vormen en verbindingslijnen, zoals schaduw, pijlpunten, kleur en lijnbreedten en -stijl. | Shapes en verbindingslijnen bijwerken om het model weer te geven |
Regels vergelijken en gebeurtenissen opslaan
Wijzigingsmelders, regels en gebeurtenissen worden uitgevoerd wanneer wijzigingen in een model plaatsvinden.
Regels worden meestal toegepast bij de eindtransactie waarin de wijziging heeft plaatsgevonden en gebeurtenissen worden toegepast nadat wijzigingen in een transactie zijn doorgevoerd.
Gebruik store-gebeurtenissen om het model te synchroniseren met objecten buiten de Store en regels om consistentie binnen de Store te behouden.
Aangepaste regels maken U maakt een aangepaste regel als een afgeleide klasse op basis van een abstracte regel. U moet ook het framework informeren over de aangepaste regel. Voor meer informatie, zie Hoe regels veranderingen binnen het model doorgeven.
Abonneren op gebeurtenissen Voordat u zich kunt abonneren op een gebeurtenis, maakt u een eventhandler en delegate aan. Gebruik vervolgens de EventManagerDirectoryeigenschap om u te abonneren op de gebeurtenis. Voor meer informatie, zie Gebeurtenishandlers geven wijzigingen buiten het model door.
Wijzigingen ongedaan maken Wanneer u een transactie ongedaan maakt, worden gebeurtenissen gegenereerd, maar worden er geen regels toegepast. Als een regel een waarde wijzigt en deze wijziging ongedaan maakt, wordt de waarde opnieuw ingesteld op de oorspronkelijke waarde tijdens de bewerking ongedaan maken. Wanneer een gebeurtenis optreedt, moet u de waarde handmatig terugzetten naar de oorspronkelijke waarde. Zie Hoe kunt u Transacties gebruiken om het model bij te werken voor meer informatie over transacties en ongedaan maken.
Gebeurtenisargumenten doorgeven aan regels en gebeurtenissen Zowel gebeurtenissen als regels worden doorgegeven aan een
EventArgsparameter die informatie bevat over hoe het model is gewijzigd.