Megosztás a következőn keresztül:


Útmutató: Windows Forms-vezérlő üzemeltetése a WPF-ben

A WPF számos vezérlőt biztosít gazdag funkciókészlettel. Előfordulhat azonban, hogy windowsos űrlapvezérlőket szeretne használni a WPF-oldalakon. Előfordulhat például, hogy jelentős befektetéssel rendelkezik a meglévő Windows Forms-vezérlőkbe, vagy rendelkezhet olyan Windows Forms-vezérlővel, amely egyedi funkciókat biztosít.

Ez az útmutató bemutatja, hogyan üzemeltethet Windows Forms System.Windows.Forms.MaskedTextBox vezérlőt egy WPF-lapon kód használatával.

Az útmutatóban szereplő feladatok teljes kódlistájáért lásd a Windows Forms-vezérlő üzemeltetése a WPF példában.

Előfeltételek

Az útmutató elvégzéséhez a Visual Studióra van szüksége.

A Windows Forms vezérlő üzemeltetése

A MaskedTextBox vezérlő üzemeltetéséhez

  1. Hozzon létre egy HostingWfInWpfnevű WPF-alkalmazásprojektet.

  2. Adjon hozzá hivatkozásokat a következő összeállításokhoz.

    • WindowsFormsIntegration

    • System.Windows.Forms

  3. Nyissa meg a MainWindow.xaml fájlt a WPF Designerben.

  4. Nevezze el a Grid elemet grid1.

    <Grid Name="grid1">
        
    </Grid>
    
  5. Tervező vagy XAML nézetben válassza ki a Window elemet.

  6. A Tulajdonságok ablakban kattintson az Események fülre.

  7. Kattintson duplán a Loaded eseményre.

  8. Szúrja be a következő kódot a Loaded esemény kezeléséhez.

    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. A fájl tetején adja hozzá a következő Imports vagy using utasítást.

    using System.Windows.Forms;
    
    Imports System.Windows.Forms
    
  10. Az alkalmazás létrehozásához és futtatásához nyomja le F5.

Lásd még