-3

我们有一个在 Windows 窗体中创建的旧库。我们想在现有的 WPF 应用程序中使用这个库。根据此链接,这是可能的。有没有人尝试过这样做?我们需要注意什么?有什么建议吗?

谢谢!

4

1 回答 1

2

关于这个主题有很多可用的资源。以下是从简单的 Google 搜索返回的一些内容:

我将解释第一个链接,因为它相当简单且易于管理。它实际上没有太多代码。

首先,您需要添加对以下程序集的引用:

  • Windows窗体集成
  • System.Windows.Forms

然后创建一个网格(在本例中名为 Grid1)。

这是代码隐藏:

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);
}

您所做的只是实例化一个WindowsFormsHost然后添加一个名为 mtbDate 的子控件。实例化您自己的控件并使用相同的方法添加它。然后像平常在 Win Forms 中那样操作它。

然后在类的顶部添加一个 using:

using System.Windows.Forms;

我希望这会有所帮助。

于 2013-09-09T21:06:21.030 回答