Поделиться через


Пошаговое руководство. Создание содержимого WPF для формы Windows Forms во время разработки

В этой статье показано, как создать элемент управления Windows Presentation Foundation (WPF) для использования в приложениях на основе Windows Forms.

Необходимые компоненты

Для выполнения шагов, описанных в этом руководстве, вам понадобится Visual Studio.

Создание проекта

Откройте Visual Studio и создайте на Visual Basic или Visual C# проект Приложение Windows Forms (.NET Framework) с именем HostingWpf.

Примечание.

При размещении содержимого WPF поддерживаются только проекты C# и Visual Basic.

Создание элемента управления WPF

Создать элемент управления WPF и добавить его в проект можно так же легко, как добавить в проект любой другой элемент. Конструктор Windows Forms работает с элементами управления особого типа, которые называются составными или пользовательскими элементами управления. Подробнее о пользовательских элементах управления WPF см. в разделе UserControl.

Примечание.

Тип System.Windows.Controls.UserControl для элементов управления WPF отличается от типа пользовательских элементов управления, предоставляемого Windows Forms, который также называется System.Windows.Forms.UserControl.

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

  1. В обозревателе решений добавьте в решение новый проект Библиотека пользовательских элементов управления WPF (.NET Framework). Используйте имя по умолчанию для библиотеки элементов управления (WpfControlLibrary1). Имя элемента управления по умолчанию — UserControl1.xaml.

    В результате добавления нового элемента управления происходит следующее:

    • Добавляется файл UserControl1.xaml.

    • Добавляется файл UserControl1.xaml.cs (или UserControl1.xaml.vb). Этот файл содержит код программной части для обработчиков событий и иных реализованных компонентов.

    • Добавляются ссылки на сборки WPF.

    • Файл UserControl1.xaml открывается в конструкторе WPF для Visual Studio.

  2. Убедитесь в том, что элемент UserControl1 выбран в представлении конструирования.

  3. В окне Свойства присвойте свойствам Width и Height значение 200.

  4. Перетащите элемент управления System.Windows.Controls.TextBox с панели элементов в рабочую область конструирования.

  5. В окне Свойства присвойте свойству Text значение Hosted Content.

    Примечание.

    Обычно размещается более сложное содержимое WPF. Элемент управления System.Windows.Controls.TextBox используется здесь в целях наглядности.

  6. Выполните сборку проекта.

Добавление элемента управления WPF в форму Windows Forms

Новый элемент управления WPF готов к использованию в форме. Элемент управления ElementHost используется в формах Windows Forms для размещения содержимого WPF.

Чтобы добавить элемент управления WPF в форму Windows Forms, выполните указанные ниже действия.

  1. Откройте Form1 в конструкторе Windows Forms.

  2. На панели элементов найдите вкладку WPFUserControlLibrary элементы управления WPF.

  3. Перетащите экземпляр UserControl1 в форму.

    • Для размещения элемента управления WPF на форме будет автоматически создан элемент управления ElementHost.

    • Элемент управления ElementHost получает имя elementHost1, а как видно в окне Свойства, его свойство Child получает значение UserControl1.

    • В проект добавляются ссылки на сборки WPF.

    • Элемент управления elementHost1 имеет панель смарт-тегов, на которой приводятся имеющиеся параметры размещения.

  4. На панели смарт-тегов Задачи ElementHost выберите пункт Закрепить в родительском контейнере.

  5. Нажмите клавишу F5 для сборки и запуска приложения.

Следующие шаги

Windows Forms и WPF — это разные технологии, но они предназначены для тесного взаимодействия. Следующие приемы расширяют возможности по настройке внешнего вида и поведения приложений:

См. также