Udostępnij za pośrednictwem


Reagowanie na i propagowanie zmian

Gdy element jest tworzony, usunięte lub zaktualizowane, można napisać kod, który propaguje tę zmianę do innych części modelu lub do zasobów zewnętrznych, takich jak pliki, bazy danych lub innych składników.

W tej sekcji

Jako wytyczną należy przyjąć należy wziąć pod uwagę te techniki w następującej kolejności:

Technika

Scenariusze

Aby uzyskać więcej informacji

Zdefiniuj właściwości domeny obliczeniowe.

Właściwości domeny, której wartość jest obliczana z innych właściwości w modelu.Na przykład cena, która jest sumą cen powiązanych elementów.

Obliczone i niestandardowych właściwości magazynu

Zdefiniuj właściwości domeny składowania niestandardowe.

Właściwości domeny, przechowywane w innych częściach modelu lub zewnętrznie.Na przykład można analizować ciąg wyrażenia do drzewa modelu.

Obliczone i niestandardowych właściwości magazynu

Zastąpić zmiany obsługi, takie jak OnValueChanging i OnDeleting

Synchronizowanie różnych elementów i synchronizowania zewnętrznych wartości z modelu.

Zachowaj wartości do określonych zakresów.

Wywołana bezpośrednio przed i po wartości właściwości i innych zmian.Zmiany można rozwiązać przez zgłaszanie wyjątku.

Domen właściwość wartość zmiany obsługi

Zasady

Można zdefiniować zasady, które oczekują w kolejce do realizacji tuż przed końcem transakcji, w którym stało się zmiany.Nie są wykonywane na Cofnij i ponów.Aby zachować synchronizację z innym jedną część magazynu, należy użyć je.

Zasady propagowanie zmian w ramach modelu

Zdarzenia magazynu

Magazyn modelowania udostępnia powiadomienia zdarzenia, takie jak dodawanie lub usuwanie elementu lub łącza lub zmiana wartości właściwości.Zdarzenie jest również wykonywane na Cofnij i ponów.Użyj zdarzenia magazynu, aby zaktualizować wartości, które nie znajdują się w magazynie.

Programy obsługi zdarzeń propagowanie zmian poza modelu

.Zdarzenia netto

Kształty mają procedury obsługi zdarzeń, które reagują na kliknięcia myszą i innych gestów.Należy zarejestrować dla tych zdarzeń, dla każdego obiektu.Rejestracja odbywa się zwykle w przesłonięcie InitializeInstanceResources i musi być wykonana dla każdego elementu.

Zdarzenia te występują zwykle, poza transakcji.

Jak: Przechwytywanie kliknij kształt lub Dekorator

Granice zasady

Reguła granice jest używany specjalnie, aby ograniczyć granice kształtu.

BoundsRules ograniczyć położenia kształtu i rozmiaru

Reguły wyboru

Reguły wyboru Zachowaj specjalnie, co użytkownik może wybrać.

Jak: dostęp i ograniczyć bieżącego zaznaczenia.

OnAssocatedPropertyChanged

Wskazania Państwa elementów modelu przy użyciu funkcji kształtów i łączników, takich jak cień, groty strzałek, koloru, szerokości linii i styl.

Aktualizowanie kształtów i łączników, aby odzwierciedlić modelu

Porównanie zasad i zdarzenia magazynu

Zmiana powiadamiających, zasad i zdarzenia są uruchamiane, gdy wystąpią zmiany w modelu.

Reguły są zwykle stosowane w transakcji koniec, w którym nastąpiła zmiana i zdarzenia są stosowane po zobowiązane są zmiany w transakcji.

Użyj zdarzenia magazynu, aby zsynchronizować modelu z obiektami spoza magazynu i zasady do zachowania spójności w obrębie magazynu.

  • Tworzenie niestandardowych reguł utworzyć niestandardową regułę w klasie pochodnej z reguły abstrakcyjny.Musi również powiadomić RAM o niestandardową regułę.Aby uzyskać więcej informacji, zobacz Zasady propagowanie zmian w ramach modelu.

  • Subskrybowanie zdarzeń przed można subskrybować zdarzenie, należy utworzyć obsługi zdarzeń i pełnomocnika.Następnie za pomocą EventManagerDirectorywłaściwość, aby subskrybować zdarzenie.Aby uzyskać więcej informacji, zobacz Programy obsługi zdarzeń propagowanie zmian poza modelu.

  • Cofanie zmian cofnąć transakcji, zdarzenia są wywoływane, ale nie są stosowane zasady.Jeśli reguła zmienia wartość i Cofnij tę zmianę, wartość jest resetowany do oryginalnej wartości podczas działania polecenia Cofnij.Zdarzenie jest wywoływane, należy ręcznie zmienić wartość, jego wartość oryginalną.Aby dowiedzieć się więcej o transactons i Cofnij, zobacz Jak: transakcji można użyć do aktualizacji modelu.

  • Przekazywanie argumentów zdarzeń do zasad i zdarzenia zarówno zdarzeń i reguł są przekazywane EventArgs parametr, który ma uzyskać informacje na temat modelu zmienione.

Zobacz też

Koncepcje

Jak: Przechwytywanie kliknij kształt lub Dekorator

Inne zasoby

Pisanie kodu, aby dostosować język specyficzne dla domeny