Каждый раз, когда вы сталкиваетесь с «сквозными» задачами, например, когда необходимо общаться 2 совершенно отдельным объектам, шаблон стиля события (издатель / подписчик) работает хорошо.
Если вы используете Unity, используйте EventAggregator.
Таким образом, вы можете просто опубликовать событие с вашей виртуальной машины и сделать так, чтобы ваш app.xaml.cs прослушал событие.
таким образом, вам не нужно сообщать вашей виртуальной машине о app.xaml.cs.