如何防止 WPF MediaKit MediaClosed 被触发

how to prevent WPF MediaKit MediaClosed fired

我有一个 WPF window,里面有一个 ContentPresenter,还有两个用户控件(一个主机 MediaUriElement,另一个主机其他东西)和两个按钮(到在用户控件之间切换)。

当我切换到MediaUriElement用户控件时,我给它分配了一个视频Uri,视频播放很好,然后我切换到另一个用户控件,这时,MediaClosed 事件触发,当我切换回来时,视频无法播放。

我希望视频可以从头开始播放或者最后切换继续播放,怎么办?

非常感谢您的帮助。

MediaElementBase(和后代)挂钩 Unloaded 事件并关闭媒体。未封闭的媒体仍然持有一些资源。

您可以通过 MediaElementBase.UnloadedBehavior 属性 更改此行为。设置除 MediaState.Close 以外的任何值。但要小心:你必须自己调用 Close(),否则你的应用程序可能会发生内存泄漏。