Udostępnij za pośrednictwem


Odpowiadanie na zmiany 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 niestandardowe właściwości przechowywania

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 niestandardowe właściwości przechowywania

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.

Obsługa zmian wartości właściwości domeny

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.

Reguły propagujące zmiany w 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ń propagujące zmiany poza modelem

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

Porady: przechwytywanie kliknięć w kształcie lub elemencie Decorator

Granice zasady

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

BoundsRules — ograniczenie lokalizacji i rozmiaru kształtu

Reguły wyboru

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

Porady: ograniczenie bieżącego wyboru i uzyskiwanie dostępu do niego

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 odzwierciedlały model

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 Reguły propagujące zmiany w 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ń propagujące zmiany poza modelem.

  • 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 Porady: użycie transakcji 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

Porady: przechwytywanie kliknięć w kształcie lub elemencie Decorator

Inne zasoby

Pisanie kodu pod kątem dostosowywania języka specyficznego dla domeny