Windows Forms Steuerelemente in WPF-Anwendung einbinden

Veröffentlicht von

Windows Forms Komponenten lassen sich in WPF-Anwendungen einbinden.

Zuerst müssen wir dem WPF-Projekt folgende Referenzen hinzufügen:

  • WindowsFormsIntegration
  • System.Windows.Forms

Unser Beispielfenster sieht so aus:

<StackPanel Orientation="Vertical"
            Margin="20">
    <TextBlock Text="Winforms Integration into WPF"
               FontSize="20"
               FontWeight="DemiBold"></TextBlock>

    <Grid x:Name="GridWinforms" Margin="0, 10, 0, 10"></Grid>
    
    <Button Content="WPF Button"></Button>
</StackPanel>

In das Grid wollen wir nun unsere Windows Forms Komponente einbinden, dies können wir in der OnLoaded Methode des Fensters erledigen:

private void MainWindow_OnLoaded(object sender, RoutedEventArgs e)
{
    var host = new System.Windows.Forms.Integration.WindowsFormsHost();

    var button = new System.Windows.Forms.Button();
    button.Text = "Windows Forms Button";
    button.Click += Button_Click;
    host.Child = button;

    GridWinforms.Children.Add(host);
}

Fertig, nach dem Start wird der Windows Forms Button angezeigt.

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert