Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
WPF tillhandahåller många kontroller med en omfattande funktionsuppsättning. Men ibland kanske du vill använda Windows Forms-kontroller på dina WPF-sidor. Du kan till exempel ha en betydande investering i befintliga Windows Forms-kontroller, eller så kan du ha en Windows Forms-kontroll som ger unika funktioner.
Den här handledningen visar hur du kan vara värd för en Windows Forms System.Windows.Forms.MaskedTextBox-kontroll på en WPF-sida med hjälp av kod.
En fullständig kodlista över de uppgifter som visas i den här genomgången finns i Hosting a Windows Forms Control in WPF Sample.
Förutsättningar
Du behöver Visual Studio för att slutföra den här genomgången.
Hantera Windows Forms-kontrollen
För att vara värd för MaskedTextBox-kontrollen
Skapa ett WPF-programprojekt med namnet
HostingWfInWpf.Lägg till referenser till följande sammansättningar.
WindowsFormsIntegration
System.Windows.Forms
Öppna MainWindow.xaml i WPF Designer.
Ge elementet Grid namnet
grid1.<Grid Name="grid1"> </Grid>I designvyn eller XAML-vyn väljer du elementet Window.
I fönstret Egenskaper klickar du på fliken Händelser.
Dubbelklicka på händelsen Loaded.
Infoga följande kod för att hantera händelsen 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 SubLägg till följande
Imports- ellerusing-instruktion överst i filen.using System.Windows.Forms;Imports System.Windows.FormsTryck på F5 för att skapa och köra programmet.
Se även
- ElementHost
- WindowsFormsHost
- Designa XAML i Visual Studio
- Steg-för-steg-guide: Värdskap av en Windows Forms-kontroll i WPF med XAML
- Handledning: Integrera en sammansatt Windows Forms-kontroll i WPF
- Handledning: Inbäddning av en WPF-kompositkontroll i Windows Forms
- Windows Forms-kontroller och motsvarande WPF-kontroller
- Hosting av en Windows Forms-kontroll i ett WPF-exempel
.NET Desktop feedback