我有一个在Window
其中显示一组的MediaElements
。它们消耗大量内存。有一个预览选项。
预览需要与加载和播放Window
的main 同步。MediaElements
目前,我运行了两个控件实例,它们在主程序Window
和预览中加载Window
,它会减慢整个应用程序的速度。有时也有些MediaElements
空白。
是否可以在单独的Window
or中显示UserControl
已经运行或添加为子控件的or的实例。Panel
Canvas
Grid
我有一个在Window
其中显示一组的MediaElements
。它们消耗大量内存。有一个预览选项。
预览需要与加载和播放Window
的main 同步。MediaElements
目前,我运行了两个控件实例,它们在主程序Window
和预览中加载Window
,它会减慢整个应用程序的速度。有时也有些MediaElements
空白。
是否可以在单独的Window
or中显示UserControl
已经运行或添加为子控件的or的实例。Panel
Canvas
Grid
使用多个MediaElements
. 不推荐,因为您可以在此处和此处看到。
我建议您尝试使用WPF MediaKit或DirectShowNet库。
WPF MediaKit 提供了MediaElement
.
它MediaUriElement
可以像这样使用
<DirectShowControls:MediaUriElement
Source="{Binding ElementName=fileDialog, Path=FilePath}"
Stretch="Uniform"
VideoRenderer="VideoMixingRenderer9"
LoadedBehavior="Play"/>
VisualBrush
通过使用并将其分配给主窗口解决了与主窗口和预览窗口的同步问题,Visual
这有效地帮助我减少了内存使用量。
参考:链接:visual-brush-in-wpf