我正在通过构建一个WMP类型的应用程序来学习C#和WPF。下面的代码运行正常,从列表框中选择一个电影在媒体元素中运行它。我遇到的问题是找到一种方法在一个结束后自动开始下一部电影。谢谢。
提供电影列表的xml文件:
<?xml version="1.0" encoding="ISO-8859-1"?>
熊 C:\ \电影Bear.wmv 蝴蝶 C:\电影\ Butterfly.wmv 湖 C:\电影\ Lake.wmv
XAML
<Window x:Class="WpfAppPlaylistTest.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="300" Width="425">
<Window.Resources>
<XmlDataProvider x:Key="myMoviesXML"
Source="c:\Movies\media1.xml"
XPath="media"
/>
</Window.Resources>
<Grid DataContext="{Binding ElementName=movieList, Path=SelectedItem}">
<ListBox ItemsSource="{Binding Source={StaticResource myMoviesXML}, XPath=//media//movie}" IsSynchronizedWithCurrentItem="True"
Name="movieList" HorizontalAlignment="Right" Width="114" Margin="0,48,12,32">
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding XPath=title}"/>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
<MediaElement Source="{Binding XPath=filename}" LoadedBehavior="Play" Name="mediaElement1" Margin="12,26,136,12" />
</Grid>
答案 0 :(得分:1)
MediaElement有一个MediaEnded事件,应该在发生这种情况时触发。然后,您可以可编程地选择列表中的下一个项目,然后播放该文件。