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

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

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

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

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