Пошаговое руководство. Размещение элемента управления Windows Forms в приложении WPF
WPF содержит множество элементов управления с богатым набором функций. Однако иногда может возникнуть потребность в использовании элементов управления Windows Forms на страницах WPF. Например, можно получить значительные преимущества от использования существующих элементов управления Windows Forms или можно использовать элемент управления Windows Forms с уникальными функциональными возможностями.
В данном пошаговом руководстве показано, как разместить элемент управления Windows Forms System.Windows.Forms.MaskedTextBox на странице WPF с помощью кода.
Полный пример кода для задач, приведенных в этом руководстве, см. в разделе Пример размещения элемента управления Windows Forms в приложении WPF.
Обязательные компоненты
Ниже приведены компоненты, необходимые для выполнения данного пошагового руководства.
- Visual Studio 2010.
Размещение элемента управления Windows Forms
Чтобы разместить элемент управления MaskedTextBox
Создайте проект приложения WPF с именем HostingWfInWpf.
Добавьте ссылки на следующие сборки:
WindowsFormsIntegration
System.Windows.Forms
Откройте файл MainWindow.xaml в сред. Конструктор WPF.
Присвойте элементу Grid имя grid1.
<Grid Name="grid1"> </Grid>
В представлении конструирования или представлении XAML выберите элемент Window.
В окне свойств перейдите на вкладку События.
Дважды щелкните событие Loaded.
Вставьте следующий код для обработки события Loaded.
Private Sub Window_Loaded(ByVal sender As Object, ByVal e As RoutedEventArgs) ' Create the interop host control. Dim host As New System.Windows.Forms.Integration.WindowsFormsHost() ' Create the MaskedTextBox control. Dim mtbDate As New MaskedTextBox("00/00/0000") ' Assign the MaskedTextBox control as the host control's child. host.Child = mtbDate ' Add the interop host control to the Grid ' control's collection of child controls. Me.grid1.Children.Add(host) End Sub
private void Window_Loaded(object sender, RoutedEventArgs e) { // Create the interop host control. System.Windows.Forms.Integration.WindowsFormsHost host = new System.Windows.Forms.Integration.WindowsFormsHost(); // Create the MaskedTextBox control. MaskedTextBox mtbDate = new MaskedTextBox("00/00/0000"); // Assign the MaskedTextBox control as the host control's child. host.Child = mtbDate; // Add the interop host control to the Grid // control's collection of child controls. this.grid1.Children.Add(host); }
В начало файла добавьте следующий оператор Imports или using.
Imports System.Windows.Forms
using System.Windows.Forms;
Нажмите клавишу F5 для построения и запуска приложения.
См. также
Задачи
Пошаговое руководство. Размещение элемента управления Windows Forms в приложении WPF с помощью XAML
Ссылки
Основные понятия
Пошаговое руководство. Размещение составного элемента управления Windows Forms в приложении WPF
Пошаговое руководство. Размещение составного элемента управления WPF в форме Windows Forms
Элементы управления Windows Forms и эквивалентные элементы управления WPF
Другие ресурсы
Hosting a Windows Forms Control in WPF Sample
Журнал изменений
Дата |
Журнал |
Причина |
---|---|---|
Август 2010 г. |
Обновлено для Visual Studio 2010. |
Обратная связь от клиента. |