Итак, я новичок в концепции перенаправленных событий, но я знаю, что сообщения разлетаются повсюду, когда поля меняются через сообщения RaiseDataMemberChanging / RaiseDataMemberChanged.
Быстрый вопрос: как мне «прослушать» эти перенаправленные сообщения?
Мне бы хотелось, чтобы моя модель представления в правильном смысле MVVM перехватила сообщение об обновлении поля, глубоко в иерархии таблиц. Если изменение происходит в дочернем элементе (диапазон дат), с этим изменением диапазона дат связана некоторая бизнес-логика, которая работает сверху вниз.
Я знаю, что могу использовать частичные методы для внедрения кода во время изменения и изменения событий, но дизайн (отношение один к одному) означает, что изменение дочернего элемента в контексте дочернего элемента не имеет ссылки родитель (родитель имеет прямую ссылку на ребенка, но ребенок не имеет ссылки на родителя).
Да, я могу добавить ссылку от ребенка к родителю (заставляя родителя иметь отношения как один к одному, так и один ко многим), но при создании сущности это создает проблему - родитель имеет существовать до того, как существует дочерняя сущность, а дочерняя сущность должна существовать до того, как может существовать ссылка на родителя. Этот дизайн требует вставки родительского и дочернего элементов, а затем обновления дочернего, что приводит в замешательство службы WCF RIA во время начального процесса создания.
Извините за длинное объяснение, но я даже рассмотрю изменения дизайна, если все это имеет смысл для тех, кто хочет комментировать.
Любой вклад будет оценен.