我正在制作一个简单的C#WPF视频播放器应用程序。在另一个窗口中监听MediaEnded事件
我有2个窗口:MainWindow(父窗口)包含MediaElement以显示视频。 PlaylistWindow(子窗口)是包含ListBox的窗口,显示appRoot路径中的所有.avi文件。
目前,当我双击ListBox项目时,它在MainWindow中播放该视频。我希望有一个自动播放功能,以便在当前视频结束时自动播放列表中的下一个项目。
我想PlaylistWindow监听MediaElement在MainWindow中触发的MediaEnded事件,这样我就可以在PlaylistWindow中的ListBox上执行一些操作。
如何从PlaylistWindow订阅MediaEnded事件?
编辑到添加: 我最终使用了不同的方法,如下所示。 我不认为这是做到这一点的最佳方式,但它适用于我。
public partial class MainWindow : Window
{
PlaylistWindow PLWindow = new PlaylistWindow();
public MainWindow()
{
InitializeComponent();
}
private void MainWindow_Loaded(object sender, RoutedEventArgs e)
{
PLWindow.Owner = this;
PLWindow.Show();
}
private void videoWindow_Ended(object sender, EventArgs e)
{
PLWindow.playNext();
}
}
public partial class PlaylistWindow : Window
{
public void playNext()
{
if (playListBox.SelectedIndex < playListBox.Items.Count - 1)
{
playListBox.SelectedIndex = playListBox.SelectedIndex + 1;
}
else { playListBox.SelectedIndex = 0; }
(Owner as MainWindow).playVideo(playListBox.SelectedValue.ToString());
}
}
我仍然开放地学习如何在PlaylistWindow的MediaEnded事件监听,如果一个代码示例,可以发布。