WPF调用winform(基于GDI)的控件和WPF窗体无边框的处理
- 这是我在做流媒体播放器的时候遇到的问题,WPF不能调用基于GDI的控件让我很是头疼,市面上也仅仅只有一个VCL播放内核可以让WPF调用,其它的内核(例如:迅雷影音的内核 Aplayer)就不行了?经过一天的查询和测试让我成功的调用了播放内核 Aplayer,请看下面代码和解释。
1、创建一个 WPF 项目
2、添加引用:
① 程序集添加:WindowsFromsIntegration
② 程序集添加:System.Windows.Forms
③ 浏览添加你要使用的第三方控件(基于GDI)
3、在xaml前台页面中加入以下代码:
xmlns:winform="clr-namespace:System.Windows.Forms.Integration;assembly=WindowsFormsIntegration"
xmlns:wf="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms"
//注:以上用来在此窗体中创建一个winform的环境,个人理解(让WPF拥有一个 Winform 环境,为后续加载 GDI 控件做准备,这是关键)