Aracılığıyla paylaş


İzlenecek yol: WPF'de Windows Forms Denetimini Barındırma

WPF, zengin bir özellik kümesiyle birçok denetim sağlar. Ancak bazen WPF sayfalarınızda Windows Forms denetimlerini kullanmak isteyebilirsiniz. Örneğin, mevcut Windows Forms denetimlerine önemli bir yatırım yapmış veya benzersiz işlevsellik sağlayan bir Windows Forms denetiminiz olabilir.

Bu izlenecek yol, kod kullanarak WPF sayfasında Windows Forms System.Windows.Forms.MaskedTextBox denetimini barındırmayı gösterir.

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

Ön koşullar

Bu kılavuzu tamamlamak için Visual Studio'ya ihtiyacınız vardır.

Windows Forms Denetimini Barındırma

MaskedTextBox denetimini barındırmak için

  1. adlı HostingWfInWpfbir WPF Uygulaması projesi oluşturun.

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

    • WindowsFormsIntegration

    • System.Windows.Forms

  3. WPF Tasarım Aracı MainWindow.xaml dosyasını açın.

  4. öğesini grid1adlandırınGrid.

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

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

  7. Olaya çift tıklayın Loaded .

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

    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 Imports veya using deyimini 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.