эээ, странно, что это не ответили ... Лично я использую ElementHost для достижения этого.
Вот подробный пример:
Поместить элемент управления WPF в форму Windows Forms
Например, у нас есть старое приложение WinForm с множеством форм WinForm. Тем не менее, каждый новый Windows разработан в WPF.
Чтобы можно было отображать все новые формы WPF:
- у нас есть основная форма winForm, в которой есть большой ElementHost [только это]
- Затем, когда я хочу показать окна WPF, я выполняю вызов, подобный следующему:
//create the winform Hoster, which contains a ElementHost on it
form_MyWPF_Hoster MyForm = new form_MyWPF_Hoster();
//Create the instance of your WPF control
form_WPFNewWindows MyWPF = new form_WPFNewWindows();
//Add the WPF control to the elementHost (it is publicly accessible...i know, it's bad..)
MyForm.elementHost1.child = MyWPF ;
//show the WinForm :
MyForm.ShowDialog();