Открываем окно WPF в приложении Windows Forms

Ни для кого не секрет, что WPF и Windows Forms могут работать совместно. И сегодня мы рассмотрим такой вид интеграции этих технологий как вызов окна WPF из Windows Forms приложения.

Для работы необходимо, чтобы вызываемое окно располагалось в dll библиотеке, которая создана как «Библиотека настраиваемых элементов управления WPF» или «Библиотека пользовательских элементов управления WPF».

Шаблоны библиотек для WPF

Также на стороне вызывающего приложения или библиотеки с формой Windows Forms были подключены следующие сборки:

  • PresentationCore;
  • WindowsBase;
  • WindowsFormsIntegration.

Их подключение показано на скриншотах.

PresentationCore

WindowsBase

Теперь можно вызывать окно WPF.

Как мы видим, он отличается от вызова обычного WinForms окна только вызовом метода EnableModelessKeyboardInterop класса ElementHost, который позволяет WPF окну получать реагировать на клавиатуру при открытии в немодальном режиме. При открытии окна в модальном режиме (ShowDialog) этот метод вызывать не требуется.

Это позволяет легко интегрировать функционал реализованный на WPF в Windows Forms приложение.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *