過程:創建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界面中。