Reagování na změny a šíření změn
Pokud prvek vytvoření, odstranění nebo aktualizaci, můžete napsat kód, který rozšíří na ostatní součásti modelu nebo externí zdroje, například souborů, databází nebo jiných součástí.
V tomto oddíle
Jako vodítko zvažte tyto techniky v následujícím pořadí:
Technika |
Scénáře |
Další informace |
---|---|---|
Definujte vlastnost domain vypočteno. |
Vlastnost domain, jehož hodnota je vypočtena z dalších vlastností v modelu.Například za cenu, která je součet cen souvisejících prvků. |
|
Definujte vlastnost domain vlastní úložiště. |
Vlastnost domény uloženy v jiných částech modelu nebo externě.Například nelze analyzovat řetězec výrazu do stromu modelu. |
|
Přepsání obslužné rutiny změnit, například OnValueChanging a OnDeleting |
Synchronizaci různých prvků a synchronizace externí hodnoty s modelem. Omezíte definovány rozsahy hodnot. Nazývá se bezprostředně před a po hodnotu vlastnosti a další změny.Změna může vypovědět došlo k výjimce. |
|
Pravidla |
Můžete definovat pravidla, které jsou ve frontě pro spuštění těsně před koncem transakce, ve kterém došlo ke změně.Nebudou provedeny na zpět nebo znovu.Jejich použití jedné části úložiště synchronizace s jiným. |
|
Události v úložišti |
Modelování úložiště poskytuje oznámení událostí, jako je například přidání nebo odstranění prvku nebo propojení nebo změně hodnoty vlastnosti.Událost se rovněž provádí na zpět a znovu.Úložiště událostí slouží k aktualizaci hodnot, které nejsou v úložišti. |
|
.NET události |
Obrazce mají obslužné rutiny událostí, které na klepnutí myší a jiné speciální tahy.Je nutné zaregistrovat pro tyto události pro každý objekt.Registrace se obvykle provádí v lokálními InitializeInstanceResources a musí být provedeno pro každý prvek. Tyto události jsou obvykle dochází mimo transakci. |
|
Pravidla hranice. |
Pravidlo hranice lze konkrétně omezit hranice obrazce. |
|
Pravidla výběru |
Co může uživatel vybrat konkrétně omezit pravidla výběru. |
|
OnAssocatedPropertyChanged |
Označení států prvky modelu pomocí funkce obrazců a spojnic, například stín, šipky, barvu a šířku čáry a styl. |
Porovnání pravidel a úložišti, události
Změna oznamovateli, pravidla a události jsou spouštěny při změnách v modelu.
Na konci transakce, ve kterém došlo k změně jsou obvykle použita pravidla a události jsou použity po změny v transakci potvrzeny.
Synchronizujte model s objekty mimo úložiště a pravidla pro zachování konzistence v rámci úložiště pomocí události v úložišti.
Vytváření vlastních pravidel vytvořit vlastní pravidlo jako odvozené třídy z abstraktní pravidla.Musí rovněž oznámí rámec o vlastní pravidlo.Další informace naleznete v tématu Pravidla šířící změny v modelu.
Odběr událostí před k odběru události, vytvořit obslužnou rutinu události a delegáta.Použít EventManagerDirectoryvlastnost k odběru události.Další informace naleznete v tématu Obslužné rutiny události šíří změny mimo model.
Zrušení změn při vrácení transakce, události jsou zaznamenávány, ale nejsou použita pravidla.Pokud pravidlo změní hodnotu a vrátit tuto změnu, je hodnota obnovit během akce zpět na původní hodnotu.V případě, že událost je aktivována, musíte ručně změnit hodnotu zpět na původní hodnotu.Další informace o transactons a zpět, viz Postupy: Používání transakcí k aktualizaci modelu.
Pravidla a události předáním argumentů události obou událostí a pravidel jsou předány EventArgs změnit parametr, který obsahuje informace o modelu.
Viz také
Koncepty
Postupy: Zachycení kliknutí na obrazec či dekorátor