过程:创建WPF工程->创建Winform用户自定义控件工程->WPF中引用控件->添加到Xaml页面
1.首先在WPF工程的解决方案上右击选择添加新建项目:
选择Windows窗体空间库;
2.在WPF中引用添加好的控件(添加好控件的工程之后要生成一下)
同时还要添加另外2个系统引用:
3.现在我们到Xaml页面上开始添加内容
xmlns:wfi ="clr-namespace:System.Windows.Forms.Integration;assembly=WindowsFormsIntegration"
xmlns:wf ="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms"
xmlns:unity="clr-namespace:UnityControl;assembly=UnityControl"
我们在窗口的属性里面增加这几个引用,其中第三个引用:xmlns:unity="clr-namespace:UnityControl;assembly=UnityControl" 就是引用的我们自己创建的Winform自定义用户控件;
然后我们再Xaml下面的内容部分添加另外的内容:
<wfi:WindowsFormsHost HorizontalAlignment="Stretch" Margin="235,0,0,34" VerticalAlignment="Stretch"> <unity:UserControl1 x:Name="unityPanel" Dock="Fill" Anchor="Left,Top,Right,Bottom" BorderStyle="None"></unity:UserControl1> </wfi:WindowsFormsHost>
添加Winfrom的组件一定要有:WindowsFormsHost 标签,并且这个标签里面只能包含1个用户控件,如果需要使用多个用户控件,那么必须添加多个WindowsFormsHost标签;
这样一来我们就成功的把1个用户自定义控件添加到了WPF界面中。