2012-10-17 1 views
3

Я добавил еще одно представление под названием LogicView внутри моего MainView. Я создал контекстное меню для LogicView, которое опубликует сообщение «ConvertToCode()» при щелчке элемента меню, но я бы хотел отправить сообщение с именем ConvertToCode в мой MainViewModel, а не в LogicViewModel. В противном случае я должен использовать EventAggregator и опубликовать сообщение из моего LogicViewModel обратно в мой MainViewModel, и это кажется очень избыточным.Caliburn micro направляет message.attach на нужный режим просмотра

MainViewl.Xaml:

<my:LogicView x:Name="logicView" AllowDrop="True"> 
     <my:LogicView.ContextMenu> 
      <ContextMenu StaysOpen="True"> 
       <MenuItem Header="Convert To Code" 
       cal:Message.Attach="ConvertToCode()"/> //I'd like to send this to mainviewmodel 
      </ContextMenu> 
     </my:LogicView.ContextMenu> 
</my:LogicView> 

Возможно ли это сделать в Caliburn Micro?

ответ

1

This как решить проблему для WP7. Он должен применяться в вашем случае.

От docs:

Action.TargetWithoutContext - Устанавливает только свойство Action.Target для указанного экземпляра. Значения строк используются для разрешения экземпляра из контейнера IoC.

Смежные вопросы