首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在wpf中使用aforge

在wpf中使用aforge
EN

Stack Overflow用户
提问于 2012-09-27 16:15:20
回答 2查看 2.9K关注 0票数 2

我在wpf中使用的是aforge:videosourceplayer,麻烦的是:为了在wpf中使用aforge:VideoSourcePlayer,我们必须将它放在WindowsFormsHost标签中。如果我不想使用WindowsFormsHost,还有其他选择吗?

代码语言:javascript
复制
<WindowsFormsHost Margin="5,5,5,201" Name="windowFormsHost" Panel.ZIndex="0">
       <aforge:VideoSourcePlayer x:Name="videoSourcePlayer" Height="200"  Margin="12,30,0,0" Width="360">
</aforge:VideoSourcePlayer>

感谢您的帮助,谢谢。

EN

回答 2

Stack Overflow用户

发布于 2012-09-28 18:28:44

不幸的是没有,因为WinForms元素的绘制方式与WPF Elemenets不同,因此必须放在单独的hWND中(参见下面的链接)。

您没有要求它,但我相信您正在寻找替代方案,因为您在WPF窗口中使用WinForms时遇到了。

如果你使用的是WPF 4或更早的版本,你在上面的代码中分配的ZIndex属性将被忽略;-),在.NET窗口中的WinForm元素将总是绘制在所有其他元素的顶部(你可以在这里了解更多信息:Layout Considerations for the WindowsFormsHost Element)。

这就是为什么我们最终开发了自己的播放器,尝试和布局WinForm元素是非常令人不安的(我们需要滚动功能,但找不到一种简单的方法来让WinFormEl。部分消失,在VideoSourcePlayer上没有任何丑陋的调整)。

如果你使用.NET 4.5,你可以对ZIndex (和其他布局属性)有更多的控制,因为你可以阅读here (这是与上面相同的文章,只是针对.NET 4.5)

注意:我记得读过一篇博客文章,里面说isRedirected&CompositionMode属性(你需要这些属性能够在WPF中正确布局你的WinForms,正如上面的链接所说的),在4.5版本中排除了这些属性,但是找不到任何关于这个的官方声明(最安全的方法是尝试一下:-)。

票数 4
EN

Stack Overflow用户

发布于 2013-01-30 23:46:16

我遇到了完全相同的问题;您喜欢Aforge框架,但不喜欢WindowsFormsHost。最终在这里找到了解决方案;

http://seaflection.wordpress.com/2012/01/29/getting-image-stream-using-webcam-in-wpf-asynchronous-ui-updating/

Sagar Mohite克服了这个问题,简单地创建了一个Compatability.dll,允许您将位图转换为正确的格式,以便它们可以在图像元素中表示,而不是VideoSourcePlayers。也需要一个DispatcherObject,但所需的少量代码都在链接+下载动态链接库,您可以开始在您的Aforge Video feeds上覆盖WPF控件!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12616881

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档