我正在尝试在包含嵌入 VLC 的 activeX 控件的 WindowsFormsHost 上覆盖按钮。我遇到的问题是activeX总是在wpf之上。有什么方法可以让 wpf 控制 activeX 控件?
VLC 控件似乎也不支持渲染到位图。
我终于找到了解决方案。popup 原语也是一个始终位于顶部的元素,可以放置在 vlc 控件上。它有点破解,但它得到了我需要的覆盖。我的播放器 xaml 看起来像这样
<grid>
<WindowsFormsHost x:Name="Host"
Height="200"
Width="200" />
<Border x:Name="Anchor"
Height="0"
Width="0"
HorizontalAlignment="Left"
VerticalAlignment="Top" />
<Popup Width="{Binding ElementName=Host,Path=Width}"
Height="{Binding ElementName=Host,Path=Height}"
PlacementTarget="{Binding ElementName=Anchor}"
AllowsTransparency="True"
IsOpen="True">
<Border Background="#30808080"
Width="{Binding ElementName=Host,Path=Width}"
Height="{Binding ElementName=Host,Path=Height}">
<Button Content="Start"
Height="20"
Width="60"
Click="button1_Click"/>
</Border>
</Popup>
</grid>
上面在包含按钮的 vlc 播放器上放置了一个浅灰色透明层。上面没有说明窗口是否被调整大小或移动,但是在控件上放置一些 wpf 的问题已经解决。
对于 VLC,VideoLan.Net 位于:http: //vlcdotnet.codeplex.com/ ,它允许将视频输出到图像。