是否可以在WPF中使用Winform组件

时间:2010-07-28 16:58:54

标签: wpf winforms migration

我们有一个使用Winforms开发的产品 - .net 2.0。现在我们正在考虑将此应用程序迁移到WPF。是否可以在WPF中使用相同的Winform组件。

或者如果不可能,那么哪种方法可以将此应用程序迁移到WPF。

2 个答案:

答案 0 :(得分:5)

是。您可以使用ElementHost将WPF内容放入Windows窗体控件,并使用WindowsFormsHost直接在WPF元素中托管Windows窗体组件。

答案 1 :(得分:1)

使用DataGridViewSwitch On The Code上有一个教程。

您需要添加对System.Windows.FormsWindowsFormsIntegration的引用才能获得WindowsFormsHost

您可以在XAML以及C#代码中执行此操作:

<WindowsFormsHost Grid.Row="0">
  <WinForms:DataGridView x:Name="_MyDataGrid">
  </WinForms:DataGridView>
</WindowsFormsHost>

C#

 _MyHost = new WindowsFormsHost();
 _MyDataGrid = new System.Windows.Forms.DataGridView();

 ....

 _MyHost.Child = _MyDataGrid;
 _Container.Children.Add(_MyHost);