Sdílet prostřednictvím


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ů.

Vypočtené a vlastní vlastnosti úložiště

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.

Vypočtené a vlastní vlastnosti úložiště

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.

Obslužná rutina změny hodnoty vlastnosti domény

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.

Pravidla šířící změny v modelu

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.

Obslužné rutiny události šíří změny mimo model

.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.

Postupy: Zachycení kliknutí na obrazec či dekorátor

Pravidla hranice.

Pravidlo hranice lze konkrétně omezit hranice obrazce.

Umístění a velikost obrazce omezení BoundsRules

Pravidla výběru

Co může uživatel vybrat konkrétně omezit pravidla výběru.

Postupy: Přístup k aktuálnímu výběru a jeho omezení

OnAssocatedPropertyChanged

Označení států prvky modelu pomocí funkce obrazců a spojnic, například stín, šipky, barvu a šířku čáry a styl.

Aktualizace obrazců a konektorů k vyjádření modelu

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

Další zdroje

Zápis kódu pro úpravu jazyka specifického pro doménu