gpt4 book ai didi

wpf - 在 wpf 中使用 forge videosouceplayer

转载 作者:行者123 更新时间:2023-12-02 22:28:37 24 4
gpt4 key购买 nike

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

<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>

感谢任何帮助,谢谢。

最佳答案

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

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

如果您使用的是 .NET 4 或更早版本,您在上面的代码中分配的 ZIndex 属性将被忽略 ;-),WPF 窗口中的 WinForm 元素将始终绘制在其他所有元素之上(您可以阅读更多关于这在这里:Layout Considerations for the WindowsFormsHost Element)。

这就是我们最终制作自己的播放器的原因,尝试和布局 WinForm 元素非常令人不安(我们需要滚动功能并且找不到让 WinFormEl. 部分消失的简单方法,而无需进行一些丑陋的调整无论如何在 VideoSourcePlayer 上)。

如果您使用 .NET 4.5,您可以更好地控制 ZIndex(和其他布局属性),您可以阅读 here (与上面的文章相同,但适用于 .NET 4.5)

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

关于wpf - 在 wpf 中使用 forge videosouceplayer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12616881/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com