Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
WPF предоставляет множество элементов управления с расширенным набором функций. Однако иногда может потребоваться использовать элементы управления Windows Forms на страницах WPF. Например, у вас могут быть значительные инвестиции в существующие элементы управления Windows Forms, или у вас может быть элемент управления Windows Forms, предоставляющий уникальные функциональные возможности.
В этом пошаговом руководстве показано, как разместить элемент управления Windows Forms System.Windows.Forms.MaskedTextBox на странице WPF с помощью кода.
Полный список кода задач, показанных в этом пошаговом руководстве, см. в разделе "Размещение элемента управления Windows Forms в примере WPF".
Предпосылки
Для выполнения этого пошагового руководства вам потребуется Visual Studio.
Размещение элемента управления Windows Forms
Для размещения элемента управления MaskedTextBox
Создайте проект приложения WPF с именем
HostingWfInWpf
.Добавьте ссылки на следующие сборки.
WindowsFormsIntegration (Интеграция Windows Forms)
System.Windows.Forms
Откройте MainWindow.xaml в конструкторе WPF.
Присвойте элементу Grid
grid1
имя.<Grid Name="grid1"> </Grid>
В представлении конструирования или XAML выделите элемент Window.
В окне "Свойства" щелкните вкладку "События".
Дважды щелкните событие Loaded.
Вставьте следующий код для обработки Loaded события.
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); }
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
В верхней части файла добавьте следующую
Imports
илиusing
инструкцию.using System.Windows.Forms;
Imports System.Windows.Forms
Нажмите клавишу F5, чтобы создать и запустить приложение.
См. также
- ElementHost
- WindowsFormsHost
- Разработка XAML в Visual Studio
- Пошаговое руководство. Размещение элемента управления Windows Forms в WPF с помощью XAML
- Пошаговое руководство: размещение составного управляющего элемента Windows Forms в WPF
- Пошаговое руководство: размещение составного элемента управления WPF в Windows Forms
- Элементы управления Windows Forms и эквиваленты WPF
- Размещение элемента управления Windows Forms в примере WPF
.NET Desktop feedback