Подтвердить что ты не робот

Можно ли смешивать WPF и WinForms в приложении?

Можно ли использовать оба элемента управления WPF и Windows в одном приложении? Насколько сложно или практично идея?

4b9b3361

Ответ 2

Довольно просто размещать элементы управления WPF в приложении WinForms с помощью адаптера ElementHost или WinForms в приложении WPF с адаптером WindowsFormsHost. Однако в Интернете не так много ресурсов, показывающих, как это сделать. В процессе обучения, как сделать это для себя, я быстро обнаружил присущие симметрии между двумя путями. Я перегнал все свои заметки в статью, сравнивая и противопоставляя эти симметрии с использованием уникального подхода: статья действительно две бок о бок статьи, сравнивая каждый шаг в деталях, начиная с создания пользовательского элемента управления в одной технологии до его размещения в применение в "противоположной" технологии. Моя статья, опубликованная на SimpleTalk.com в августе 2010 года, доступна здесь: Смешивание WPF и WinForms.

Для полноты, вот пара хороших ссылок MSDN, по одному для каждого пути. Фактически, демонстрационное решение, сопровождающее мою статью, начиналось с двух из них:

Ответ 3

Мы размещали значительно сложные элементы управления WPF в существующем приложении LOB WinForms. Это можно сделать, но у нас были проблемы (некоторые из них, несомненно, вызваны крутой кривой обучения). В первую очередь это связано с тем, что события с потерями фокуса не срабатывают, когда они ожидаются, а также проблемы с клавиатурой.

Ответ 4

При размещении не WPF-контента (будь то HTML, WinForms или содержимое Win32) у вас будет Airspace вопросы. Это означает, что вы не можете полностью компонировать содержимое WPF с размещенным контентом. Вы также не можете его анимировать и т.д. Есть некоторые интересные проблемы в отношении scrollviewers см. Здесь для получения более подробной информации и исправления.

Ответ 5

Вы также можете использовать элементы управления HWNDSource и HWNDHost для встраивания элементов управления WPF в WinForms (или любое приложение Win32, действительно).

Ответ 6

Да, вы можете, как Windows Forms в приложении WPF, так и WPF-элементы управления в Windows Forms. www.novamind.com приложение для сопоставления образов - это успешное сочетание двух технологий.