无法使用MediaTimeline更改Binded Mediaelement中的视频RepeatBehavior =“Forever”

时间:2013-10-25 12:58:53

标签: wpf video binding repeat mediaelement

我希望永远重复一段视频,直到在我的viewmodel中更改视频源。但我无法实现这两种行为。 我正在使用这个axml:

<MediaElement Name="myMediaElement" Margin="10" LoadedBehavior="Play">
<MediaElement.Triggers>
    <EventTrigger RoutedEvent="MediaElement.Loaded">
        <EventTrigger.Actions>
            <BeginStoryboard>
                <Storyboard>
                    <MediaTimeline Source="{Binding FaseTest.VideoUri}"
                    Storyboard.TargetName="myMediaElement" RepeatBehavior="Forever" />
                </Storyboard>
            </BeginStoryboard>
        </EventTrigger.Actions>
    </EventTrigger>
</MediaElement.Triggers>

如果我不'使用触发器更改视频,但我没有重复行为。 如果我使用触发重复行为,但不改变视频。

1 个答案:

答案 0 :(得分:0)

我决定使用一个用于mediaelement的eventhandler并删除eventtriggers和mediatimeline:

<MediaElement Name="myMediaElement" Margin="10" Source="{Binding FaseTest.VideoUri}" 
 LoadedBehavior="Play" UnloadedBehavior="Manual" MediaEnded="MediaEnded" >

private void MediaEnded( object sender, RoutedEventArgs e )
    {
        myMediaElement.Position = TimeSpan.Zero;
        myMediaElement.Play();
    }

我知道这有点脏......但是我不能在不使用反码的情况下找到另一个有效的解决方案。