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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
.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. |
|
Granice zasady |
Reguła granice jest używany specjalnie, aby ograniczyć granice kształtu. |
|
Reguły wyboru |
Reguły wyboru Zachowaj specjalnie, co użytkownik może wybrać. |
|
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