Как показать окно WPF в приложении winform - PullRequest
2 голосов
/ 26 февраля 2011

Как показать окно WPF в приложении winform?Могу ли я просто использовать Windows1 win = new Windows1 ();win.show ()

Ответы [ 2 ]

1 голос
/ 26 сентября 2015

В этой статье подробно объясняется следующий ответ.

using System;
using System.Windows.Forms;
using System.Windows.Forms.Integration;

var wpfwindow = new WPFWindow.Window1();
ElementHost.EnableModelessKeyboardInterop(wpfwindow);
wpfwindow.Show();
1 голос
/ 25 сентября 2015

эээ, странно, что это не ответили ... Лично я использую ElementHost для достижения этого.

Вот подробный пример: Поместить элемент управления WPF в форму Windows Forms

Например, у нас есть старое приложение WinForm с множеством форм WinForm. Тем не менее, каждый новый Windows разработан в WPF.

Чтобы можно было отображать все новые формы WPF:

  1. у нас есть основная форма winForm, в которой есть большой ElementHost [только это]
  2. Затем, когда я хочу показать окна 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();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...