如何将车展面板放在 LibVLCSharp.WPF.VideoView 上?
How to put an auto show panel over a LibVLCSharp.WPF.VideoView?
我正在写一个 WPF 桌面应用程序,带有一些视频播放功能。我决定用LibVLCSharp.WPF来完成播放任务
Xaml代码:
<UserControl ...
xmlns:vlc="clr-namespace:LibVLCSharp.WPF;assembly=LibVLCSharp.WPF"
... >
<vlc:VideoView VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
<Canvas VerticalAlignment="Stretch" HorizontalAlignment="Stretch" MouseEnter="Canvas_MouseEnter">
</Canvas>
</vlc:VideoView>
</UserControl>
播放视频效果很好,但是当我尝试将一些隐藏控件放入 Canvas
(或任何其他类型的 Panel
控件)并使用 MouseEnter
更改它们的可见性时事件,什么也没有发生。
在调试时,我发现 MouseEnter
事件只有在 Canvas
至少有一个可见控件作为其子控件并且鼠标指针进入该可见控件时才会触发。
我已阅读有关 "airspace issue" 的文章。好像跟我没关系,我就是想在播放区里面画个控制层
有什么方法可以在 VLC 播放器上放置一个自动显示面板,只有当鼠标 "hovered" 悬停在播放区域时才会显示?
问题已通过 @cube45 的提示解决。谢谢。
我将 Canvas
的 Background
更改为 "not so transparent"。
Xaml代码:
<Canvas Background="#01000000" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" MouseEnter="Canvas_MouseEnter">
</Canvas>
并且鼠标事件有效。棘手,但有用。
我正在写一个 WPF 桌面应用程序,带有一些视频播放功能。我决定用LibVLCSharp.WPF来完成播放任务
Xaml代码:
<UserControl ...
xmlns:vlc="clr-namespace:LibVLCSharp.WPF;assembly=LibVLCSharp.WPF"
... >
<vlc:VideoView VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
<Canvas VerticalAlignment="Stretch" HorizontalAlignment="Stretch" MouseEnter="Canvas_MouseEnter">
</Canvas>
</vlc:VideoView>
</UserControl>
播放视频效果很好,但是当我尝试将一些隐藏控件放入 Canvas
(或任何其他类型的 Panel
控件)并使用 MouseEnter
更改它们的可见性时事件,什么也没有发生。
在调试时,我发现 MouseEnter
事件只有在 Canvas
至少有一个可见控件作为其子控件并且鼠标指针进入该可见控件时才会触发。
我已阅读有关 "airspace issue" 的文章。好像跟我没关系,我就是想在播放区里面画个控制层
有什么方法可以在 VLC 播放器上放置一个自动显示面板,只有当鼠标 "hovered" 悬停在播放区域时才会显示?
问题已通过 @cube45 的提示解决。谢谢。
我将 Canvas
的 Background
更改为 "not so transparent"。
Xaml代码:
<Canvas Background="#01000000" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" MouseEnter="Canvas_MouseEnter">
</Canvas>
并且鼠标事件有效。棘手,但有用。