Смешивать WPF с приложением WinForm? - PullRequest
11 голосов
/ 10 сентября 2010

Моему довольно большому приложению WinForm требуется капитальный ремонт графического интерфейса, но я не могу позволить себе сделать все это сразу. Мне нужно знать, могу ли я медленно добавлять в него WPF, и если да, то как?

Могу ли я добавить диалоги WPF?

Могу ли я добавить WPF-панели в WinForm, чтобы я мог встраивать элементы WPF?

EDIT

Могу ли я сделать обратное и добавить диалоги WinForm в мое приложение WPF?

Ответы [ 3 ]

10 голосов
/ 10 сентября 2010
6 голосов
/ 01 декабря 2010

Да, я успешно смешал winforms и WPF. Мне даже удалось добавить окна WPF в приложения win32, изменить это приложение на dll и использовать приложение WPF для отображения окон win32, которые показывают окна WPF.

Для размещения окон WPF в приложениях WinForm или win32 вам понадобится эта строка. Show () вашего WpfWindow:

System.Windows.Forms.Integration.ElementHost.EnableModelessKeyboardInterop(myWpfWindow); 

См. http://msdn.microsoft.com/en-us/library/aa348549.aspx

0 голосов
/ 16 декабря 2016

Вы можете использовать элемент управления ElementHost, находящийся в пространстве имен System.Windows.Forms.Integration.Вам понадобится ссылка на сборку WindowsFormsIntegration (в WindowsFormsIntegration.dll)

. Этот элемент управления является пустым контейнером, в который можно поместить элементы управления WPF, например

myElementHost.Child = someWpfControl;

.панель инструментов и перетащите его на winform как любой другой элемент управления;

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...