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


Пошаговое руководство. Размещение пользовательского элемента управления Windows Forms с помощью конструктора WPF

Обновлен: Ноябрь 2007

В этом примере демонстрируется использование Windows Presentation Foundation (WPF) для Visual Studio (конструктор) для размещения составного элемента управления Windows Forms в приложении WPF. Дополнительные сведения о взаимодействии технологий Windows Forms и WPF см. в разделе Миграция и взаимодействие систем

В этом пошаговом руководстве рассматриваются следующие задачи.

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

  • Создание составного элемента управления Windows Forms.

  • Размещение элемента управления Windows Forms в приложении WPF.

Bb514615.alert_note(ru-ru,VS.90).gifПримечание.

Отображаемые диалоговые окна и команды меню могут отличаться от описанных в справке в зависимости от текущих параметров или версии среды. Для изменения параметров выберите пункт Импорт и экспорт параметров в меню Сервис. Дополнительные сведения см. в разделе Параметры Visual Studio.

Обязательные компоненты

Ниже приведены компоненты, которые необходимы для выполнения данного пошагового руководства.

  • Visual Studio 2008.

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

Первым этапом является создание проекта ведущего приложения.

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

  1. Создайте проект приложения WPF с именем «DemoApplication». Дополнительные сведения см. в разделе Практическое руководство. Создание нового проекта приложения WPF.

    В WPF (конструктор) откроется файл Window1.xaml. 

  2. В обозревателе решений добавьте ссылку на сборку WindowsFormsIntegration, которая называется WindowsFormsIntegration.dll.

  3. В обозревателе решений добавьте ссылку на сборку Windows Forms, которая называется System.Windows.Forms.dll.

Создание составного элемента управления Windows Forms

В этой процедуре показан способ создания составного элемента управления, размер которого изменяется в соответствии с его содержимым. Элемент управления TableLayoutPanel и свойство AutoSize обеспечивают создание динамического макета элемента управления. Дополнительные сведения см. в разделе Элемент управления TableLayoutPanel (Windows Forms).

Создание составного элемента управления Windows Forms

  1. Добавьте в решение новый проект библиотеки элементов управления Windows Forms с именем «DemoControlLibrary». Дополнительные сведения см. в разделе Практическое руководство. Добавление и удаление элементов решения.

    В конструкторе Windows Forms Designer открывается элемент управления UserControl1

  2. В Панели элементов дважды щелкните элемент управления TableLayoutPanel. Элемент управления TableLayoutPanel появится на поверхности разработки.

  3. Выберите Удалить последнюю строку из меню смарт-тегов Задачи TableLayoutPanel.

  4. В окне Cвойства присвойте свойству Dock значение Fill.

  5. Перетащите с Панели элементов элемент управления Label и добавьте его в первую ячейку элемента управления TableLayoutPanel.

  6. В окне Свойства установите значения следующих свойств для элемента управления Label:

    Свойство

    Значение

    AutoSize

    True

    Dock

    Fill

    Margin

    0,0,0,0

    Text

    Введите дату:

    TextAlign

    MiddleCenter

  7. Перетащите с Панели элементов элемент управления MaskedTextBox и добавьте его во вторую ячейку элемента управления TableLayoutPanel.

  8. Выберите глиф смарт-тега (Глиф смарт-тэга) в элементе управления MaskedTextBox и выберите Настройка маски из меню Задачи MaskedTextBox.

    Появится диалоговое окно Маска ввода.

  9. Из столбца Описание маски выберите Краткий формат даты и нажмите кнопку OK.

  10. В верхней части окна Свойства из раскрывающегося списка выберите элемент управления TableLayoutPanel.

  11. Свойству AutoSize присвойте значение true.

  12. В верхней части окна Свойства выберите UserControl1.

  13. Установите для свойства AutoSize значение true, а для свойства Size — значение 0,0.

    Элемент управления UserControl1 изменяет размер по своему содержимому.

  14. В меню Сборка выберите Собрать решение для построения решения.

Размещение элемента управления Windows Forms в приложении WPF

Для размещения элемента управления UserControl1 в приложении WPF используется элемент WindowsFormsHost .

Размещение элемента управления Windows Forms в WPF

  1. В обозревателе решений добавьте в проекте «DemoApplication» ссылку на проект «DemoControlLibrary». Дополнительные сведения см. в разделе Практическое руководство. Добавление или удаление ссылок в Visual Studio (Visual Basic).

  2. Откройте файл Window1.xaml в WPF (конструктор).

  3. В представлении XAML импортируйте пространство имен DemoControlLibrary, вставив следующее сопоставление пространства имен в открывающем теге Window. Дополнительные сведения см. в разделе Практическое руководство. Импорт пространства имен в XAML.

    xmlns:dc="clr-namespace:DemoControlLibrary;assembly=DemoControlLibrary"
    
  4. После открывающего тега Grid вставьте следующий код.

    <WindowsFormsHost HorizontalAlignment="Left" VerticalAlignment="Top">
        <dc:UserControl1/>
    </WindowsFormsHost>
    

    В конструкторе появится область, представляющая размещенные элементы управления Windows Forms.

Следующие действия

Можно также размещать элементы управления WPF в формах Windows Forms. Дополнительные сведения см. в разделе Использование элементов управления Windows Presentation Foundation.

См. также

Задачи

Пошаговое руководство. Размещение элемента управления Windows Forms в Windows Presentation Foundation

Ссылки

WindowsFormsHost

ElementHost

Другие ресурсы

Работа с элементами управления в конструкторе WPF

Миграция и взаимодействие систем