интеграция wpf в оконное приложение - PullRequest
0 голосов
/ 28 июля 2011

Я новичок в приложении wpf. Я работаю с приложением окна. У него есть много module.its, один из модулей находится в wpf, который отделен от проекта. Поэтому я хочу интегрировать приложение wpf в проект приложения окна.

Ответы [ 4 ]

5 голосов
/ 28 июля 2011

Ваш вопрос неясен. Однако если вы пытаетесь разместить объект WPF внутри приложения WinForms, то да, это возможно.

Хороший учебник можно найти здесь .

1 голос
/ 29 июля 2011

Предполагается, что вы имеете в виду MDI Winform для "Windows Application". Вот шаги:

  1. Создайте новую дочернюю Winform.
  2. Добавить элемент совместимости WPF
  3. Добавьте свои страницы WPF к элементу взаимодействия WPF

Эти шаги работают только в .NET Framework 3.0 или более поздней версии, где поддерживается WPF.

0 голосов
/ 01 сентября 2011

Вы можете использовать ElementHost, чтобы добавить свои элементы управления wpf в формы Windows. Добавьте элемент управления ElementHost в форму окна и установите свой элемент управления wpf как свойство ElementHost Child.

Подробнее вы можете найти здесь
MSDN

ElementHost

0 голосов
/ 28 июля 2011

Вам необходимо добавить уровень взаимодействия между приложением 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.

Удачи!

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