根据动作更改中介元素来源

| 我有一个WPF 4和VB.net 2010项目。我在单个媒体中播放视频。这是我需要做的: 窗口第一次打开时,我的第一个视频播放就很好。但是,正是在播放完此视频后,我才遇到了如何执行以下操作的麻烦。 我需要在任何视频播放一次后立即更改视频源,并且我需要此视频(以下称为““环境””视频)永远循环播放。 当发生某个事件时,我需要再次更改视频源,使其播放一次,然后在步骤1中返回循环播放环境视频。 但是,这是摩擦。许多视频触发器都位于后面代码中的If-Then或Select Case语句内,因此我并不是专门使用简单的WPF事件,例如\“ MouseUp \”或\“ MouseEnter \”。 同样,出于性能原因,所有视频都必须在同一媒体中播放。 先感谢您! 我该怎么做呢?     
已邀请:
media元素的Source是DependencyProperty,因此对它的任何更改将立即反映在UI中。 如果将此与激发的MediaEnded事件结合使用,则可以设置Source并解决问题。 当您点击代码中的触发器时,您可以调用方法或触发事件。您将不得不使用某种状态模式的外观来处理其他逻辑。顺便说一句,请查看无条件编程,这是关于如何避免疯狂的条件逻辑的精彩介绍。     
我将中介元素的LoadedBehavior设置为\“ Play \”,将Unloadedbehavior设置为\“ Stop \”,然后我就可以在代码中更改中介元素本身的来源,并将需要播放的视频放入每个视频之后MediaEnded事件。 事实证明,除非将LoadedBehavior设置为“ Manual”,否则MediaEnded不会自动触发,除非在代码中显式调用了“ Stop \”。 我讨厌接受自己的回答,所以Nate Noonen得到了赏金(他本来是沿着右边的小巷走的)! TY!     

要回复问题请先登录注册