Если я правильно понимаю, вы хотите, чтобы коллекция ultimateCollection
оставалась после того, как вы удалились со страницы. В вашем примере имеет смысл, что он уничтожен, поскольку является полевой переменной страницы. То, что вы хотите сделать, - это иметь статический список воспроизведения, доступный из любого места в вашем приложении.
Я бы предложил переместить ultimateCollection
в App.xaml
public IList<Song> UltimateCollection {get; private set;}
// and then somewhere else in App.xaml.cs where your player is looping through the songs
int i=0;
while(i<UltimateCollection.Count)
{
Song a = UltimateCollection[i];
MediaPlayer.Play(a);
while (MediaPlayer.State == MediaState.Playing || MediaPlayer.State == MediaState.Paused)
{
//while MediaState still playing, dont play next song
}
}
затем из другой части вашего приложения, скажем, с другой страницы, вы можете добавить к этой коллекции
App.UltimateCollection.Add(someSong);
При добавлении в коллекцию могут возникнуть проблемы с многопоточностью, но это должно позволить вам добавлять песни в плейлист и перемещаться со страницы. Дайте мне знать, если это поможет.
Cheers,
Al.