Вам необходимо добавить уровень взаимодействия между приложением MDI и компонентом WPF, который вы хотите разместить.Это нетривиально .
1) Определите, где будет находиться граница между вашим управляемым и собственным кодом.Убедитесь, что вы четко определяете, очерчиваете и уважаете эту границу, иначе вы будете плакать от слез боли.Это потребует использования C ++ / CLI в любом реальном сценарии.
Я предлагаю создать ref-класс C ++ / CLI, называемый чем-то вроде «Launcher», который будет действовать как трамплин.Он предоставляет собственный API, который может использовать ваше собственное приложение.Собственное приложение предоставляет указатель на ваше окно MDI и любую другую необходимую информацию.
2) Используйте дочерний указатель MDI и HwndSource на компоненте WPF, чтобы перетащить ваш WPF в собственное окно.
3) Предоставить соответствующую ручную пересылку оконных сообщений из MDI-земли в WPF-land через MessageHook в HwndSource.Обратите внимание, что вы будете вручную обрабатывать все, от WM_WINDOWPOSCHANGED до ID_HELP.
Удачи!