一、添加引用
WindowsFormsIntegration.dll (负责整合WPF和Windows)
System.Windows.Forms.dll (WinForm自带的控件库)
提示:这两个引用都是在程序集中可以直接找到的
ControlLib_k.dll(自定义的控件库)
二、在要使用WinForm控件的WPF窗体的XAML文件中添加如下内容:
xmlns是XML_Namespace的缩写,用来引用程序集和其中的命名空间,类似C#的using。语法格式:
xmlns[:可选的映射前缀]=“名称空间”
类似网址的名称空间是XAML解析器硬性编码后的字符串,包含对多个程序集(.dll)的引用。如果引用单个外部的程序集,名称空间的写法如下:
xmlns:映射名=“clr-namespace:类库中名称空间的名字;assembly=类库文件名”
xmlns:wfi ="clr-namespace:System.Windows.Forms.Integration;assembly=WindowsFormsIntegration"
xmlns:wf="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms"
xmlns:ck="clr-namespace:ControlLib_k;assembly=ControlLib_k"
三、在WPF中使用WinForm或自定义控件
< wfi:WindowsFormsHost > </ wfi:WindowsFormsHost >为WinForm控件的宿主容器,每个宿主容器只能放一个Winform控件
<Grid>
< wfi:WindowsFormsHost >
< wf:NumericUpDown x:Name ="nupCounter" Maximum ="100" ></ wf:NumericUpDown > //引用WinForm自带控件
</ wfi:WindowsFormsHost >
< wfi:WindowsFormsHost >
<ck:Btn_Open x:Name ="openBtn" Text="打开"></ wf:NumericUpDown > //引用自定义控件
</ wfi:WindowsFormsHost >
</Grid>
标签:控件,WindowsFormsHost,wfi,Windows,xmlns,wpf,WinForm,winform
From: https://www.cnblogs.com/rb-huang/p/17317234.html