WPF中添加Winform用户自定义控件

过程:创建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界面中。 

原文地址:https://www.cnblogs.com/mr-yoatl/p/7594747.html