【问题标题】:Calling a control from 3rd Party DLL从第 3 方 DLL 调用控件
【发布时间】:2015-05-14 02:37:17
【问题描述】:

我在我的 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 控件。

【问题讨论】:

标签: c# wpf dll


【解决方案1】:

ActiveX 控件不能直接添加到 WPF 视图中,但可以托管在 Windows 窗体控件中。 WPF 可以承载 WinForms 控件。微软有一个walk through describing the process

对此的简短描述是您将向您的 XAML 视图添加 WindowsFormHost。 MSDN walk 虽然显示这是在后面的代码中完成的,但可以在 XAML 中添加 WindowsFormHost。然后将 WindowsFormHost 的 Child 设置为 ActiveX 控件。这必须在后面的代码中完成,因为不支持在 XAML 编辑器中添加 ActiveX 控件。

您还需要了解 WPF 中托管控件的行为。没有 WPF 内容可以与托管控件重叠。托管控件将始终绘制在您的 WPF 内容之上。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多