Как я должен общаться между ViewModels?

Я использую MVVM Light и использую пакетную систему обмена сообщениями для связи между моделями представлений, однако я столкнулся с небольшой дилеммой! В основном, когда пользователь нажимает на запись клиента, открывается соответствующий вид и с нимCustomerViewModel создается экземпляр. На данный моментCustomerViewModel требуется идентификатор выбранного клиента из предыдущей модели просмотра (ViewAllCustomersViewModel) так, чтобы он мог получать информацию о выбранных клиентах, с которой связывается представление (все еще следует?) Поэтому изначально моя мысль была слишком отправить этот идентификатор в сообщении отViewAllCustomersViewModel (где выбран клиент для просмотра) вCustomerViewModel... Тем не менееCustomerViewModel не создается возможность получения сообщения до тех пор, пока представление не будет загружено (в этот момент сообщение уже было передано)!

Итак, как лучше всего решить эту проблему? До сих пор я рассмотрелCustomerViewModel отправив запрос вViewAllCustomersViewModel как только он был создан (в основном говорят "Я готов получить сообщение), а затемViewAllCustomersViewModel отправив идентификатор обратноCustomerViewModel... но это необходимый подход для решения этой проблемы? Это кажется мне немного уродливым!

В противном случае я подумал, есть ли другой способ общения, который может объяснить проблему, с которой я столкнулся? Но тогда нетне в этом ли смысл системы сообщений ... чтобы иметь возможность общаться между моделями представлений? ИЛИ я могу принудительно создать модель представления при запуске? Если это так, как это повлияет наViewModelLocator?

Надеюсь, я четко обрисовал проблему, для объяснения я использовал названия моделей вымышленного вида ... и, пожалуйста, не стесняйтесь редактировать или предлагать любую дополнительную информацию, которую вы хотели бы, чтобы я добавил!

Ответы на вопрос(5)

Ваш ответ на вопрос