在我的应用程序中,我正在构建自己的媒体播放器。当用户选择要播放的歌曲时,希望能够将链接传递给示例媒体以及与之关联的元数据(艺术家、曲目、专辑封面等)。我坚持的部分是如何将所有数据并将其传递给媒体播放器页面。这是我到目前为止所拥有的。
确定选择了什么项目并将数据添加到查询字符串。
更新
public void musicSampleSelectedHandler(object sender, RoutedEventArgs e)
{
Track selected = (sender as Image).DataContext as Track;
ListBoxItem pressedItem = this.listReleaseMain.ItemContainerGenerator.ContainerFromItem(selected) as ListBoxItem;
if (pressedItem != null)
{
string _rT = selected.title;
string _rN = selected.release.name;
//string _rA = selected.artists; ????
string _rI = selected.images.large.url;
string _rS = selected.sampleUrl;
this.NavigationService.Navigate(new Uri("/Pages/MediaPage.xaml?releaseName=" + _rN + "&releaseTrack=" + _rT + "&releaseImage=" + _rI
+ "&releaseSample=" + _rS, UriKind.Relative));
}
}
OnNavigatedTo 方法从查询字符串中提取数据
protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
{
base.OnNavigatedTo(e);
string releaseName = String.Empty;
string releaseImg = String.Empty;
string releaseUrl = String.Empty;
if (NavigationContext.QueryString.TryGetValue("releaseUrl", out releaseUrl))
{
sampleMedia.Source = new Uri(releaseUrl, UriKind.Absolute);
}
}
我不确定我是否可以使用查询字符串将多个片段传递给媒体播放器,或者我是否可以做一些不同的事情来将数据传递给另一个页面。我所有的数据都来自使用网络客户端的网络。谢谢您的帮助。