我在html页面中使用dll中的控件作为
<object id="ATT" width="100%" height="100%"
classid="CLSID:E20EC898-E4EE-4A20-A5A5-E10144FDC6BA"
codebase="AvtechMediaControl.cab#version=1,1,7,6" VIEWASTEXT>
</object>
但我想在我的WPF应用程序中访问它。
当我尝试在工具箱中选择DLL时,我收到以下错误,
“以下控件已成功添加到工具箱中,但未在活动设计器中启用”
我需要一种方法将它添加到我的WPF项目中。我不想使用webbrowser控件。
答案 0 :(得分:2)
ActiveX控件无法直接添加到WPF视图中,但可以在Windows窗体控件内部托管。 WPF可以托管WinForms控件。 Microsoft有一个walk through describing the process。
对此的简短描述是您将向您的XAML视图添加WindowsFormHost。虽然MSDN步骤显示这是在后面的代码中完成,但WindowsFormHost可以添加到XAML中。然后,您将WindowsFormHost的Child设置为ActiveX控件。这必须在后面的代码中完成,因为不支持在XAML编辑器中添加ActiveX控件。
您还需要了解WPF中托管控件的行为。没有WPF内容可以与托管控件重叠。托管控件将始终覆盖WPF内容的顶部。