Реагирование на изменения и их распространение
При создании, удаляется или обновляется элемент можно написать код, который распространяет изменения на другие части модели или к внешним ресурсам, таким как файлы, базы данных или другие компоненты.
В этом подразделе
Как директива, рассмотрим эти методы в следующем порядке:
Способ |
Сценарии |
Дополнительные сведения |
---|---|---|
Укажите вычисленное свойство домена. |
Свойство домена, значение которого вычисляется на основе других свойств в модели.Например, цена, сумма цен связанных элементов. |
|
Определите пользовательское свойство домена хранения. |
Свойство домена, хранимых в других частях модели или внешние.Например, можно проанализировать строка выражения в дереве модели. |
|
Обработчики изменений переопределения, как OnValueChanging и OnDeleting |
Сохранять различные элементы в синхронизации, и сохранять внешние значения в синхронизации с моделью. Ограничьте значения с указанным диапазонам. Вызывается непосредственно перед и после изменения значения свойства и другого.Можно завершить изменение путем создания исключения. |
|
Правила |
Можно определить правила, которые в очереди для выполнения только до окончания транзакции, в которой произошло изменение.Они не выполняются в откате или повторе.Используйте их для хранения одну часть хранилища в synch с другими. |
|
Храните события |
Хранилище моделирования предоставляет уведомления событий например добавление или удаление элемента или ссылку или изменять значение свойства.Событие также выполняется при откате и повторе.Используйте события хранилища для обновления значений, которые не находятся в хранилище. |
Обработчики событий распространяют изменения за пределы модели |
События платформы .NET |
Фигуры имеют обработчики событий, которые отвечают на щелчок кнопкой мыши и другие жестам.Необходимо зарегистрировать для этих событий для каждого объекта.Регистрация обычно выполняется в переопределенном методе InitializeInstanceResources и должна выполняться для каждого элемента. Эти события обычно используются вне транзакции. |
Практическое руководство. Перехват щелчка фигуры или декоратора |
Правила границ |
Правило границ используется в частности ограничить границ фигур. |
|
Правила выбора |
Правила, ограничивающие выделения в частности, что пользователь может выбрать. |
Практическое руководство. Предоставление и ограничение доступа к текущему выделению |
OnAssocatedPropertyChanged |
Отображение состояний элементов модели с помощью функции фигур и соединителей, как тень, наконечникы, цвета и толщины линий и стиль. |
Сравнение правила и события хранилища
Измените notifiers, правила и события, выполняются при возникновении изменений в модели.
Правила обычно примененная в конце транзакции, в которой произошло изменение и события применяются после изменения в транзакции зафиксированы.
Используйте события магазина, чтобы синхронизировать модель с объектами вне хранилища и поддерживать согласованность в хранилище.
Создание настраиваемых правил Пользовательское правило создается как производный класс от абстрактного правила.Также следует уведомить границы о пользовательском правиле.Дополнительные сведения см. в разделе Правила распространяют изменения в пределах модели.
Подписка на события Прежде чем можно будет подписаться на событие, создайте обработчик события и делегат.Затем воспользуйтесь EventManagerDirectoryсвойство, которое необходимо подписаться на событие.Дополнительные сведения см. в разделе Обработчики событий распространяют изменения за пределы модели.
Отменить изменения При отмене транзакции, вызываются события, но правила не применяются.Если правило изменяет значение и отменить изменения, оно сброшено к исходному значению во время операции отката.При возникновении события, необходимо вручную изменить значения обратно к своему исходному значению.Дополнительные сведения о transactons и откате см. в разделе Практическое руководство. Обновление модели с помощью транзакций.
Передача аргументов события с правилами и событиям События передаются и правила EventArgs параметр, содержащий сведения о том, как модель была изменена.
См. также
Основные понятия
Практическое руководство. Перехват щелчка фигуры или декоратора