Я использую mvvm для моего нового проекта. У меня есть диспетчер сообщений для отправки сообщений между моделями представления, но в одном случае я должен получать сообщения в представлении.
Это представление содержит панель инструментов, которая должна содержать панель инструментов, связанную с подробным представлением (например, при редактировании клиента требуется панель инструментов с кнопками Сохранить, Отменить, Повторить, Отмена).
Проблема в том, что я должен подписаться на сообщения внутри представления, чтобы иметь возможность написать это:
broker.Subscribe<AddToolbarPanelMessage>(x=>toolbar.Add(x.Panel));
Но ...
Мне пришлось
1) получить представление из контейнера (поэтому не XAML!), Чтобы иметь DI для messageBroker
2) вызвать статический IoC.Container.Resolve (); внутренний конструктор
Вариант 2 сломал конструктор VS2010, поскольку контейнер не настроен в режиме разработки ...
Есть идеи?
Представление не видно из viewmodel, я использую статический ViewModelLocator.