Sdílet prostřednictvím


Reagovat na 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čítané a vlastních vlastností ú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čítané a vlastních vlastností ú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.

Domény vlastnost hodnotu změnit obsluhy

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 rozšířit změny v rámci 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álostí rozšířit změny mimo modelu

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

Postup: klepněte na obrazec nebo Decorator zachytit

Pravidla hranice.

Pravidlo hranice lze konkrétně omezit hranice obrazce.

BoundsRules omezit tvar umístění a velikost

Pravidla výběru

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

Jak: přístup a zachovat aktuální výběr

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 spojnic odrážejí 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 rozšířit změny v rámci 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álostí rozšířit změny mimo modelu.

  • 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 Jak: použití transakcí aktualizace 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

Postup: klepněte na obrazec nebo Decorator zachytit

Další zdroje

Zápis kódu nastavit domény specifické pro jazyk