İzlenecek yol: WPF içinde Windows Forms Denetimi Barındırma

WPF, zengin bir özellik kümesine sahip birçok denetim sağlar. Ancak, WPF sayfalarınız üzerinde Windows Formlar denetimlerini kullanmak da iyi olabilir. Örneğin, mevcut Windows Forms denetimlerine önemli bir yatırım veya benzersiz işlevsellik sağlayan Windows Forms denetiminiz olabilir.

Bu kılavuzda, bir WPF sayfasında kod Windows System.Windows.Forms.MaskedTextBox Formlar denetimi barındırmayı gösterir.

Bu kılavuzda gösterilen görevlerin tam kod listesi için bkz. WPF Örneğinde Windows Form Denetimi Barındırma.

Önkoşullar

Bu Visual Studio tamamlamanız gerekir.

Windows Forms Denetimi Barındırma

MaskedTextBox denetimi barındırmak için

  1. adlı bir WPF Uygulaması projesi HostingWfInWpf oluşturun.

  2. Aşağıdaki derlemelere başvurular ekleyin.

    • WindowsFormsIntegration

    • Sistem. Windows. Forms

  3. WPF Tasarımcısı'nda MainWindow.xaml'i açın.

  4. Öğesini olarak Gridgrid1 adlar.

    <Grid Name="grid1">
        
    </Grid>
    
  5. Tasarım görünümü veya XAML görünümünde öğesini Window seçin.

  6. Özellikler penceresi sekmesine tıklayın.

  7. Olayı çift Loaded tıklatın.

  8. Olayı işlemek için aşağıdaki kodu Loaded girin.

    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
    
  9. Dosyanın en üstüne aşağıdaki veya Imports deyimini using ekleyin.

    using System.Windows.Forms;
    
    Imports System.Windows.Forms
    
  10. Uygulamayı derlemek ve çalıştırmak için F5 tuşuna basın.

Ayrıca bkz.